Rumah >pangkalan data >SQL >Perbezaan antara semua dan mana-mana dalam sql
SEMUA dan MANA-MANA dalam SQL membandingkan hasil subkueri dengan hasil pertanyaan utama. ALL memerlukan subquery untuk mengembalikan benar untuk setiap baris, manakala ANY hanya memerlukan ia mengembalikan benar untuk sekurang-kurangnya satu baris. Oleh itu, perbandingan SEMUA adalah lebih ketat dan biasanya digunakan untuk menentukan sama ada semua syarat dipenuhi, manakala SEBARANG perbandingan adalah lebih santai dan digunakan untuk menentukan sama ada sekurang-kurangnya satu syarat dipenuhi.
Perbezaan antara SEMUA dan ANY dalam SQL
Jawapan mudah:
SEMUA dan ANY dalam SQL ialah dua kata kunci berbeza yang digunakan untuk membandingkan keputusan pertanyaan dengan pertanyaan
Jawapan terperinci:
1. SEMUA
SEMUA operator menyemak sama ada subkueri mengembalikan nilai sebenar untuk setiap baris pertanyaan utama. Perbandingan SEMUA mengembalikan benar jika subkueri mengembalikan benar untuk semua baris jika tidak, ia mengembalikan palsu.
Contoh:
<code class="sql">SELECT * FROM customer WHERE ALL (SELECT 1 FROM purchase WHERE customer_id = customer.id);</code>
Pertanyaan ini mengembalikan semua pelanggan, setiap satunya membuat sekurang-kurangnya satu pembelian.
2. ANY
SEBARANG pengendali menyemak sama ada subkueri mengembalikan nilai sebenar untuk mana-mana baris pertanyaan utama. SEBARANG perbandingan mengembalikan benar jika subkueri mengembalikan nilai benar untuk sekurang-kurangnya satu baris jika tidak, ia mengembalikan palsu.
Contoh:
<code class="sql">SELECT * FROM customer WHERE ANY (SELECT 1 FROM purchase WHERE customer_id = customer.id);</code>
Pertanyaan ini mengembalikan semua pelanggan, sekurang-kurangnya seorang daripada mereka telah membuat pembelian.
Ringkasan:
Operator | Penerangan |
---|---|
SEMUA | Subtanyaan mesti kembali benar untuk semua |
Atas ialah kandungan terperinci Perbezaan antara semua dan mana-mana dalam sql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!