首頁 > 軟體

Mysql子查詢關鍵字的使用方式(exists)

2022-07-07 18:05:55

1. all

1.1 格式

1.2 特點 

  • all:與子查詢返回的所有值比較為true則返回true
  • all可以與=,>=,>,<,<=,<>結合使用,分別表示等於,大於等於,大於,小於,小於等於,不等於其中的所有資料
  • 大於all表示指定列中的值必須要大於子查詢集中的每一個值,即必須要大於子查詢集的最大值;如果是小於即小於子查詢中的最小值。

1.3 操作

2. any(some)

1.1 格式

1.2 特點

  • any:與子查詢返回的所有值比較為true則返回true
  • any可以與=,>=,>,<,<=,<>結合使用,分別表示等於,大於等於,大於,小於,小於等於,不等於其中的任何一個資料
  • 大於any表示指定列中的值必須要大於子查詢集中的任何一個值,即必須要大於子查詢集的最小值;其他同理
  • some可以理解為any的別名

1.3 操作

3. in

1.1 格式

1.2 特點

  • in用於判斷某個記錄的值,是否在指定的集合中
  • 在in關鍵字前邊加上not可以將條件反過來

1.3 操作

4. exist

1.1 格式

1.2 特點

  • 該子查詢如果“有資料結果”(至少返回一行資料),則該EXISTS()結果為:true,外層查詢執行
  • 該子查詢如果“沒有資料結果”(沒有任何資料返回),則該EXISTS()結果為:false,外層查詢不執行
  • EXISTS後面的子查詢不返回任何實際資料,只返回真或假,當返回真時where條件成立
  • 注意:EXISTS關鍵字,比IN關鍵字的運算效率高,因此,在實際開發中,特別是巨量資料量時,推薦使用EXISTS關鍵字

1.3 操作

1.4 解釋

外層查詢進行查詢時,外層查詢會一行一行執行,第一行執行時,判斷子查詢是否為true,為true則此行資料被查出,接著第二行查詢。。。以此往復。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com