【mysql基礎系列之九】子查詢

什麼是子查詢語句?

指在一條select語句中,嵌入了另一條select語句,那麼被嵌入的select語句就稱之爲子查詢語句。

什麼是子查詢?

當一個查詢是另一個查詢的條件時,該查詢稱之爲子查詢。

在計算機中語言SELECT-SQL語句中,子查詢就是嵌套查詢下層的程序模塊。

子查詢分類

1、按照功能分

標量子查詢:返回一個數據(一行一列)

列子查詢:返回一列(一列多行)

行子查詢:返回一行(一行多列)

表子查詢:返回一張表(多行多列)

exists子查詢:返回1或者0(類似布爾操作,mysql中沒有布爾值)

2、按照位置分

where子查詢:作爲條件(標量子查詢、列子查詢、行子查詢)

from子查詢:作爲數據源(表子查詢)

標量子查詢

標量子查詢得到的結果只有一個值。

select * from 數據源 where 條件判斷 運算符
    (select * from 數據源 where 條件判斷);

列子查詢

主查詢 where 條件 in(列子查詢);

例:想獲取已經有學生在班的所有班級名稱

行子查詢

字段元素:指一個字段對應的值。

行元素:指多個字段合起來爲作爲一個元素參與運算,把這種情況稱之爲行元素。

主查詢 where 條件【(行元素)】 = (行子查詢);

例:獲取班級上年齡最大且身高最高的學生

        獲取班級最大年齡、獲取班級最高身高,然後找到對應學生


表子查詢

select 字段列表 from (表子查詢) as 表別名【where等關鍵字均可】;

例:獲取每個班上最高的學生

exists子查詢

exists表示根據查詢得到的結果進行判斷:如果存在,那麼返回1,否則返回0.

注意:where 1;   表示永遠爲真。

主查詢 where exists(子查詢);


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