续运算符
1. IS NULL,IS NOT NULL,ISNULL(函数)
eg:select last_name from employees where manager is null;
2.LEAST/GREATEST最小/最大
1)eg:select LEAST('g','b','t'.'m'),GREATEST('g','b','t'.'m');
=>b,t
2)eg:select LEAST(LENGTH(first_name,last_name)) from employees;
=>此处涉及LENGTH()单行函数,比较长短
3. BETWEEN...AND
eg:select last_name from employees where salary between 6000 and 8000;
ps:包含6000和8000分界值
4.IN/NOT IN
eg:select last_name from employees where department_id in (50,60,70);
ps:离散值的查找
5.like
1) eg:select last_name from employees where last_name like'%a%';
2) eg:select last_name from employees where last_name like'%a%e% or
last_name like'%e%a%';
6._:代表一个不确定的字符
eg:select last_name from employees where last_name like '_a%';
7.REGEXP/RLIKE正则表达式
eg:'^'以它后面的字符串开始,'$'以它前面的字符串结尾
逻辑运算符
1. OR || 或 AND && 且 NOT ! 非 XOR 异或
1)XOR异或
eg:select last_name fromm employees where department_id = 50 XOR salary>6000;
ps:是能满足其中一个条件另一个为相反的结果:
情况1:部门id为50的时候,薪资小于6000;
情况2:薪资大于6000的时候,部门id不能为50;
2)OR 和AND可以一起使用,使用时,and的优先级高于or,因此先对and两边操作,再与or中的操作数结合
位运算符
1. &、|、^、~、>>、<<
排序与分页
1)排序
ORDER BY 一级排序
eg:select * from employees order by salary desc; 根据薪资降薪
ps:升序 asc 降序 desc,默认是升序状态
2)列的别名只能在order by 中使用,不能在where中使用
3)二级排序
eg:select * from employees order by department_id desc,salary asc;
分页查询
eg:select * from employees limit 0,20;
第一页,一页展示20条
1) 公式:Limit(PageNo-1)*PageSize,PageSize;
2) 格式:Limit 位置偏移量,条目数
ps:偏移量为0时,可以省略
limit 0,20=>limit 20
3)mySQL8.0新特性
select * from employees limit 31,2;
新特性:select * from employees limit 2 offset 31;
ps:显示第32,33两条数据