mysql第五天-子查詢、分頁查詢、聯(lián)合查詢

子查詢

子查詢介紹

  • 含義:出現(xiàn)在其他語句(增刪改查語句)中的select語句,稱為子查詢或內查詢,外部的查詢語句,稱為主查詢或者外查詢


    圖示
  • 子查詢分類(以查詢語句為例)


    分類

where后面的子查詢

image.png

子查詢都是優(yōu)先于主查詢先去執(zhí)行,因為主查詢用到了子查詢的結果。

where后面的標量子查詢

案例:標量子查詢

支持多個標量子查詢

where后面的列子查詢(又稱多行子查詢)

image.png

案例:

image.png

where后面的行子查詢(了解查詢)

image.png

select后面的子查詢(只支持標量子查詢)

了解即可,可用別的查詢方式替換

from后面的子查詢使用(表子查詢)

image.png

exists后面的子查詢使用(又叫相關子查詢,用的也不多)

  • 語法:select exists(子查詢語句);
  • 結果只有2個:1或者0;
    根據(jù)子查詢的結果就行判斷是1還是0,子查詢的結果有值就是1,為空則值為0.


    image.png

    image.png

分頁查詢

語法
案例1

案例2

聯(lián)合查詢

  • union 聯(lián)合 合并:將多條查詢語句的結果合并成一個結果
  • 語法:
    查詢語句1
    union
    查詢語句2
    union
    ...
  • 應用場景:
    要查詢的結果來自于多個表,且多個表沒有直接的連接關系,但查詢的信息一致時
  • 特點:★
    1、要求多條查詢語句的查詢列數(shù)是一致的!
    2、要求多條查詢語句的查詢的每一列的類型和順序最好一致,查詢字段名稱不一致的時候,返回的字段名稱為前面的一條sql為標準,但內容卻是各自查詢的東西。
    3、union關鍵字默認去重,如果使用union all 可以包含重復項
    4、union的子句中,不用寫order by,合并后的結果集可以進行order by,子句order by沒有意義。

引入的案例:查詢部門編號>90或郵箱包含a的員工信息

  • SELECT * FROM employees WHERE email LIKE '%a%' OR department_id>90;
  • SELECT * FROM employees WHERE email LIKE '%a%'
    UNION
    SELECT * FROM employees WHERE department_id>90;
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
禁止轉載,如需轉載請通過簡信或評論聯(lián)系作者。

相關閱讀更多精彩內容

  • 1、隱式連接 1、笛卡爾乘積笛卡爾(Descartes)乘積又叫直積。假設集合A={a,b},集合B={0,1,2...
    AKyS佐毅閱讀 2,152評論 0 1
  • 一. Java基礎部分.................................................
    wy_sure閱讀 4,030評論 0 11
  • 2017/3/14 RDBMS:關系型數(shù)據(jù)庫管理系統(tǒng) 關系模型獨立于語言 SQL有幾種不同類型的語言:數(shù)據(jù)定義語言...
    ancherl閱讀 1,803評論 0 6
  • 50個常用的sql語句Student(S#,Sname,Sage,Ssex) 學生表Course(C#,Cname...
    哈哈海閱讀 1,335評論 0 7
  • 今天,吃了早飯媽媽說去超市買東西,我們收拾完就出發(fā)了,到了超市人山人海都在買過年的東西,我和媽媽轉了不到一圈就買了...
    5e0d7a648cb4閱讀 245評論 0 0

友情鏈接更多精彩內容