select 查询列表 from 表名;

1.查询表中的单个字段
SELECT 字段名 FROM 表名;
#2.查询表中的多个字段
SELECT last_name,salary,email FROM employees;
#3.查询表中的所有字段(顺序是固定的)
#方式一:
SELECT FROM employees;
#方式二:
SELECT
first_name,
last_name,
email,
phone_number,
job_id,
salary,
commission_pct
FROM
employees;
#4.查询常量值
SELECT 100;
SELECT ‘john’;#sql中没有字符串概念
#5.查询表达式
SELECT 100
89;
#6.查询函数
SELECT VERSION();
#7.给字段(列)起别名
/
好处
①便于理解
②如果要查询的字段有重名的情况,使用别名可以区分开来
/
#方式一:
SELECT 100*80 AS 别名;
SELECT last_name AS 姓,first_name AS 名 FROM employees;
#方式二:省去AS
SELECT last_name 姓,first_name 名 FROM employees;

#案例:查询salary,显示结果为 out put
SELECT salary “out put” FROM employees;

#8.去重 (distinct明显的,独特的)
select distinct 字段名 from 表名;

案例:查询员工表中涉及到的所有的部门编号
SELECT DISTINCT department_id FROM employees;
#9.+号的作用
/
java中的+号:
①运算符,两个操作数都为数值型
②连接符,只要有一个操作数为字符串

mysql中的+号:
仅仅只有一个功能:运算符

select 100+50; 两个操作符都为数值型,则做加法运算

select ‘123’+100; 只要有一方是字符型,则试图将字符型转换为数值型
如果转换成功,则继续做加法运算
select ‘tom’+100; 如果转换失败,则将字符型数值转换为0

select null+100; 只要其中一方为null,则结果肯定为null

/

#案例:查询员工名和姓连接成一个字段,并显示为姓名

SELECT last_name + first_name AS 姓名 FROM employees;#错误

#[补充]使用concat函数
功能:拼接字符
SELECT CONCAT(‘a’,’b’,’c’) AS 结果; //abc

SELECT
CONCAT(last_name, first_name) AS 姓名
FROM
employees ;

【补充】ifnull函数
功能:判断某字段或表达式是否为null,如果为null 返回指定的值,否则返回原本的值
例:判断commission_pct是否为null,如果为null返回0
select ifnull (commission_pct,0)from employees;

【补充】isnull函数
功能:判断某字段或表达式是否为null,如果是返回1,否则返回0

image.png

  1. #进阶1:基础查询
  2. /*
  3. 语法:
  4. select 查询列表 from 表名;
  5. 类似于:System.out.println(打印的东西);
  6. 特点:
  7. 1.查询列表可以是:表中的字段、常量值、表达式、函数
  8. 2.查询的结果是一个虚拟的表格
  9. */
  10. USE myemployees;#代表以下命令是执行的该库
  11. #1.查询表中的单个字段
  12. SELECT last_name FROM employees;
  13. #2.查询表中的多个字段
  14. SELECT last_name,salary,email FROM employees;
  15. #3.查询表中的所有字段(顺序是固定的)
  16. #方式一:
  17. SELECT * FROM employees;
  18. #方式二:
  19. SELECT
  20. `first_name`,
  21. `last_name`,
  22. `email`,
  23. `phone_number`,
  24. `job_id`,
  25. `salary`,
  26. `commission_pct`
  27. FROM
  28. employees;
  29. #4.查询常量值
  30. SELECT 100;
  31. SELECT 'john';#sql中没有字符串概念
  32. #5.查询表达式
  33. SELECT 100*89;
  34. #6.查询函数
  35. SELECT VERSION();
  36. #7.给字段(列)起别名
  37. /*
  38. ①便于理解
  39. ②如果要查询的字段有重名的情况,使用别名可以区分开来
  40. */
  41. #方式一:
  42. SELECT 100*80 AS 别名;
  43. SELECT last_name AS 姓,first_name AS FROM employees;
  44. #方式二:省去AS
  45. SELECT last_name 姓,first_name FROM employees;
  46. #案例:查询salary,显示结果为 out put
  47. SELECT salary "out put" FROM employees;
  48. #8.去重
  49. #案例:查询员工表中涉及到的所有的部门编号,dintinct
  50. SELECT DISTINCT department_id FROM employees;
  51. #9.+号的作用
  52. /*
  53. java中的+号:
  54. ①运算符,两个操作数都为数值型
  55. ②连接符,只要有一个操作数为字符串
  56. mysql中的+号:
  57. 仅仅只有一个功能:运算符
  58. select 100+50; 两个操作符都为数值型,则做加法运算
  59. select '123'+100; 只要有一方是字符型,则试图将字符型转换为数值型
  60. 如果转换成功,则继续做加法运算
  61. select 'tom'+100; 如果转换失败,则将字符型数值转换为0
  62. select null+100; 只要其中一方为null,则结果肯定为null
  63. */
  64. #案例:查询员工名和姓连接成一个字段,并显示为姓名
  65. SELECT last_name + first_name AS 姓名 FROM employees;#错误
  66. #使用concat函数
  67. SELECT CONCAT('a','b','c') AS 结果;
  68. SELECT
  69. CONCAT(last_name, first_name) AS 姓名
  70. FROM
  71. employees ;