Mysql子查詢關鍵字的使用方式(exists)
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則此行數據被查出,接著第二行查詢。。。以此往復。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- Python中可以用三種方法判斷文件是否存在
- python判定文件目錄是否存在及創建多層目錄
- sql中exists的基本用法示例
- python 中os模塊os.path.exists()的用法說明
- mybatis 忽略實體對象的某個屬性(2種方式)