一、基础查询 https://blog.csdn.net/xy_learning/article/details/103768278
二、条件查询
语法:select 查询列表 from 表名 where 筛选条件
执行顺序:表名,筛选条件,查询列表
分类:1.条件表达式 > < = != <> >= <=
2.按逻辑运算符 and or not
3.模糊查询 like between and in is null
示例:
#查询部门编号不等于90号的员工名和部门编号
SELECT last_name,department_id FROM employees WHERE department_id <> 90;
#查询工资在10000到20000之间的员工名、薪资和奖金
SELECT first_name,salary,`commission_pct` FROM employees WHERE salary>=10000 AND salary<=20000;
#查询员工名中包含字符a的员工信息
SELECT * FROM employees WHERE last_name LIKE '%a%';
#查询员工名中第二个字符为_的员工名
SELECT last_name FROM employees WHERE last_name LIKE '_\_%';
SELECT last_name FROM employees WHERE last_name LIKE '_a_%' ESCAPE 'a';
%为通配符,可以匹配0至多个字符,_只能匹配一个字符,可以通过反斜杠进行转义,也可以使用escape指明自定义的转义字符
#查询员工编号100在120之间的员工信息
SELECT * FROM employees WHERE employee_id BETWEEN 100 AND 120;
#等价于 >= and <=
#查询员工的工种编号是IT_PROG/AD_VP/AD_PRES中的一个员工名和工种编号
SELECT
first_name,
job_id
FROM
employees
WHERE job_id IN ('IT_PROT', 'AD_VP', 'AD_PRES');
#安全等于 <=>
SELECT last_name,commission_pct FROM employees WHERE commission_pct <=> NULL;
SELECT * FROM employees WHERE salary <=>12000;
# is null 尽可以判断是否为null值
# = 只能判断值
# <=> 都可以判断
三、排序查询
语法:select 查询列表 from 表 【where 筛选条件】 order by 排序列表【asc、desc】
执行顺序:表、筛选条件、查询列表、排序
asc是升序,desc降序,不写默认是asc升序
order by 支持单个字段,多个字段,表达式,函数,别名
示例:
#按姓名的长度显示员工的姓名和工资
SELECT LENGTH(last_name) 字节长度 ,last_name,salary FROM employees ORDER BY 字节长度 DESC;
#查询员工信息,先按照工资升序,再按员工编号降序
SELECT * FROM employees ORDER BY salary ASC,employee_id DESC;
ifnull(commission_pct,0)若为null则为0