MySQL筆記——子查詢

一、含義
嵌套在其他語句內部的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
);

 

 

 

 

 

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