Kueri ini akan mengembalikan baris, di mana b
adalah 5
atau 7
, DAN c
adalah 4
.
Apa yang Anda maksud dengan "evaluasi berpasangan?"
Pembaruan:
Saya akan menambahkan satu baris lagi ke sampel:
+----------+----------+----------+
| PK | b | c |
+----------+----------+----------+
| 1 | 2 | 3 |
+----------+----------+----------+
| 2 | 5 | 4 |
+----------+----------+----------+
| 3 | 7 | 9 |
+----------+----------+----------+
| 4 | 7 | 4 |
+----------+----------+----------+
| 5 | 2 | 9 |
+----------+----------+----------+
Jika Anda ingin mencocokkan seluruh rangkaian, Anda dapat menggunakan sintaks ini:
SELECT *
FROM table_name
WHERE (b, c) IN ((2, 3), (7, 9))
Ini berarti:"kembalikan semua baris di mana b
adalah 2
dan c
adalah 3
pada saat yang sama, ATAU b
adalah 7
dan с
adalah 9
pada saat yang sama."
Pada contoh di atas, kueri ini akan mengembalikan baris 1
dan 3
Tetapi jika Anda menulis ulang kueri ini sebaliknya, seperti ini:
SELECT *
FROM table_name
WHERE b IN (2, 7)
AND c IN (3, 9)
, ini berarti "kembalikan semua baris di mana b
adalah 2
atau 7
, DAN c
adalah 3
atau 9
).
Ini akan mengembalikan baris 1
, 3
dan 5
, karena baris 5
memenuhi kondisi untuk kueri kedua tetapi tidak untuk kueri pertama.