子查詢
一、含義
嵌套在其他語句內部的select語句稱爲子查詢或內查詢,
外面的語句可以是insert、update、delete、select等,一般select作爲外面語句較多
外面如果爲select語句,則此語句稱爲外查詢或主查詢
二、分類
1、按出現位置
select後面:
僅僅支持標量子查詢
from後面:
表子查詢
where或having後面:
標量子查詢
列子查詢
行子查詢
exists後面:
標量子查詢
列子查詢
行子查詢
表子查詢
2、按結果集的行列
標量子查詢(單行子查詢):結果集爲一行一列
列子查詢(多行子查詢):結果集爲多行一列
行子查詢:結果集爲多行多列
表子查詢:結果集爲多行多列
三、示例
where或having後面
1、標量子查詢
案例:查詢最低工資的員工姓名和工資
①最低工資
select min(salary) from employees
②查詢員工的姓名和工資,要求工資=①
select last_name,salary
from employees
where salary=(
select min(salary) from employees
);
2、列子查詢
案例:查詢所有是領導的員工姓名
①查詢所有員工的 manager_id
select manager_id
from employees
②查詢姓名,employee_id屬於①列表的一個
select last_name
from employees
where employee_id in(
select manager_id
from employees
);
分頁查詢
一、應用場景
當要查詢的條目數太多,一頁顯示不全
二、語法
select 查詢列表
from 表
limit 【offset,】size;
注意:
offset代表的是起始的條目索引,默認從0卡死
size代表的是顯示的條目數
公式:
假如要顯示的頁數爲page,每一頁條目數爲size
select 查詢列表
from 表
limit (page-1)*size,size;