MySql複習二.4 DQL語言 子查詢 ,分頁查詢

子查詢

一、含義

嵌套在其他語句內部的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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章