2020-12-2学习记录
子查询
分页查询
子查询
1. 含义
嵌套在其他语句内部的select语句称为子查询或内查询,
外面的语句可以是insert、update、delete、select等,一般select作为外面语句较多
外面如果为select语句,则此语句称为外查询或主查询
2. 分类
- 按出现位置
select后面: 仅仅支持标量子查询 from后面: 表子查询 where或having后面: 标量子查询 列子查询 行子查询 exists后面: 标量子查询 列子查询 行子查询 表子查询
- 按结果集的行列
标量子查询(单行子查询):结果集为一行一列
列子查询(多行子查询):结果集为多行一列
行子查询:结果集为多行多列
表子查询:结果集为多行多列
3. 示例
where或having后面
- 标量子查询
案例:查询最低工资的员工姓名和工资
①最低工资
②查询员工的姓名和工资,要求工资=①select min(salary) from employees
select last_name,salary from employees where salary=( select min(salary) from employees );
- 列子查询
案例:查询所有是领导的员工姓名
①查询所有员工的 manager_id
②查询姓名,employee_id属于①列表的一个select manager_id from employees
select last_name from employees where employee_id in( select manager_id from employees );
分页查询
1. 应用场景
当要查询的条目数太多,一页显示不全
2. 语法
select 查询列表
from 表
limit 【offset,】size;
注意:
offset代表的是起始的条目索引,默认从0开始
size代表的是显示的条目数
公式:
假如要显示的页数为page,每一页条目数为size
select 查询列表
from 表
limit (page-1)*size,size;