mysql 中的 all 和 any 運(yùn)算符用于比較集合是否滿足特定條件。all 檢查所有元素是否都滿足,而 any 只需要有一個(gè)元素滿足即可。
MySQL 中的 ALL 和 ANY
ALL 和 ANY 是 MySQL 中的集合運(yùn)算符,用于比較兩個(gè)或多個(gè)集合是否滿足特定條件。
ALL
ALL 運(yùn)算符檢查給定集合中的所有元素是否都滿足子查詢返回的結(jié)果。語(yǔ)法如下:
<code class="sql">SELECT * FROM table1 WHERE condition ALL (SELECT condition FROM table2);</code>
登錄后復(fù)制
如果子查詢對(duì)于 table1 中的每條記錄都返回真,則返回該記錄。換句話說(shuō),如果所有元素都滿足子查詢條件,則返回 true。
例:
<code class="sql">SELECT * FROM students WHERE city ALL (SELECT city FROM states WHERE country = 'USA');</code>
登錄后復(fù)制
這將返回所有居住在美國(guó)的所有州的學(xué)生記錄。
ANY
ANY 運(yùn)算符檢查給定集合中的任何元素是否滿足子查詢返回的結(jié)果。語(yǔ)法如下:
<code class="sql">SELECT * FROM table1 WHERE condition ANY (SELECT condition FROM table2);</code>
登錄后復(fù)制
如果子查詢至少對(duì)于 table1 中的一條記錄返回真,則返回該記錄。換句話說(shuō),如果任何元素滿足子查詢條件,則返回 true。
例:
<code class="sql">SELECT * FROM employees WHERE salary ANY (SELECT salary FROM managers WHERE department = 'Sales');</code>
登錄后復(fù)制
這將返回所有工資與任何銷售部門經(jīng)理工資相同的員工記錄。






