多行子查询
| | 等于列表中的任意一个 | | :— | —: | — | | any | some 和子查询返回的某一个值比较 | | all | 和子查询返回的所有值比较 |
操作符 | 含义 |
---|
IN/NOT IN | 等于列表中的任意一个 | ANY | SOME | ALL | 和子查询返回的所有值比较 | 将子查询充当一张表必须起别名。 | |
exists后面(相关子查询)
语法:exists(完整的查询语句) 结果: 1或0
进阶八 分页查询
应用场景:当要显示的数据,一页显示不全,需要分页提交sql请求 语法 select 查询列表 from 表 join 表 on 条件 group by 分组字段 having 分组后的筛选 order by 排序字段 limit offset ,size offset 要显示条目的起始索引(起始索引从0开始) size 要显示的条目个数 案列1 查询前五条信息 select * from 表 limit 0,5 或 limit 5 案列2 查询第11条-第25条 select *from 表 limit 10 ,15 特点: 1.limit语句放在查询语句的最后 2.公式 要显示的页面 page 每页的条目数 select 查询列表 from 表 limit (page-1)*size ,size
进阶九 union 联合查询
union 联合 合并:将多条查询语句的结果合并成一结果
语法:
查询语句1
union
查询语句2
union
查询语句3
应用场景:
要查询的结果来自于多个表,且多个表没有直接连接关系,但查询的信息一致时
特点:
1.要求多条语句查询语句的查询列数是一致的
2.要求多条查询语句的查询每一列的类型和顺序最好一致
3.union关键字默认去重,若果使用union all 可以包含重复项
举例:引入的案例:查询部门编号>90 或 邮箱包含a的员工信息
select * from 表 where id > 90 or email like "%a%" ;
select * from 表 where email like '%a%'
union
select * from 表 where id >90
|