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