all:與子查詢傳回的所有值比較為true則傳回true
all可以與=,>=,>,結合使用,分別表示等於,大於等於,大於,小於,小於等於,不等於其中的所有資料
大於all表示指定列中的值必須大於子查詢集中的每一個值,即必須大於子查詢集的最大值;如果是小於即小於子查詢中的最小值。
any:與子查詢傳回的所有值比較為true則回傳true
any可以與=,> =,>,結合使用,分別表示等於,大於等於,大於,小於,小於等於,不等於其中的任何一個資料
大於any表示指定列中的值必須大於子查詢集中的任何一個值,即必須大於子查詢集的最小值;其他同理
some可以理解為any的別名
in用來判斷某個記錄的值,是否在指定的集合中
在in關鍵字前邊加上not可以將條件反過來
該子查詢如果「有資料結果」(至少傳回一行資料),則此EXISTS()結果為:true,外層查詢執行
此子查詢如果「沒有資料結果」(沒有任何資料回傳),則該EXISTS()結果為:false ,外層查詢不執行
EXISTS後面的子查詢不回傳任何實際數據,只傳回真或假,當傳回真時where條件成立
注意:EXISTS關鍵字,比IN關鍵字的運算效率高,因此,在實際開發中,特別是大數據量時,建議使用EXISTS關鍵字
外層查詢進行查詢時,外層查詢會一行一行執行,第一行執行時,判斷子查詢是否為true,為true則此行資料被查出,接著第二行查詢。 。 。以此往復。
以上是Mysql子查詢關鍵字如何使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!