Mana-mana dan SEMUA dalam MySQL semak sama ada sekurang-kurangnya satu rekod atau semua rekod dalam subkueri memenuhi syarat. ANY sesuai untuk menentukan kewujudan, manakala ALL sesuai untuk mengesahkan konsistensi Perbezaannya ialah ANY hanya perlu mencari satu rekod yang memenuhi syarat untuk kembali benar, manakala ALL memerlukan semua rekod untuk memenuhi syarat. .
SEMUA: Semak bahawa semua rekod dalam subkueri memenuhi syarat yang ditetapkan.
Sintaks
Semak sama ada terdapat rekod yang memenuhi syarat dalam subquery. Mengembalikan 0
(salah).
Biasa digunakan untuk menentukan sama ada unsur tertentu wujud dalam set. ANY(subquery)
ALL(subquery)
其中 subquery
是一个返回 Boolean 值的子查询。
用法
ANY
1
(真)如果找到匹配记录,否则返回 0
(假)。示例:
<code>SELECT CASE WHEN ANY(SELECT 1 FROM orders WHERE product_id = 123) THEN 'Product exists' ELSE 'Product does not exist' END;</code>
ALL
1
(真)如果所有记录都满足条件,否则返回 0
(假)。示例:
<code>SELECT CASE WHEN ALL(SELECT price FROM orders WHERE product_id = 123) > 50 THEN 'All products are expensive' ELSE 'Some products are not expensive' END;</code>
区别
注意事项
NULL
结果。ALL
和 ANY
NULL
. 🎜🎜Apabila menggunakan SEMUA
dan ANY
, anda harus memberi perhatian kepada kesan prestasi subquery. 🎜🎜Atas ialah kandungan terperinci Penggunaan mana-mana dan semua dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!