To zapytanie zwróci wiersze, w których b to albo 5 lub 7 , ORAZ c to 4 .
Co rozumiesz przez „ocenę w parach?”
Aktualizacja:
Do próbki dodam jeszcze jeden wiersz:
+----------+----------+----------+
| PK | b | c |
+----------+----------+----------+
| 1 | 2 | 3 |
+----------+----------+----------+
| 2 | 5 | 4 |
+----------+----------+----------+
| 3 | 7 | 9 |
+----------+----------+----------+
| 4 | 7 | 4 |
+----------+----------+----------+
| 5 | 2 | 9 |
+----------+----------+----------+
Jeśli chcesz dopasować całe zestawy, możesz użyć następującej składni:
SELECT *
FROM table_name
WHERE (b, c) IN ((2, 3), (7, 9))
Oznacza to:„zwróć wszystkie wiersze, w których b to 2 i c to 3 w tym samym czasie LUB b to 7 i с to 9 w tym samym czasie."
W powyższym przykładzie to zapytanie zwróci wiersze 1 i 3
Ale jeśli przepiszesz to zapytanie na odwrót, w ten sposób:
SELECT *
FROM table_name
WHERE b IN (2, 7)
AND c IN (3, 9)
, będzie to oznaczać „zwróć wszystkie wiersze, w których b to albo 2 lub 7 , ORAZ c to albo 3 lub 9 ).
To zwróci wiersze 1 , 3 i 5 , ponieważ wiersz 5 spełnia warunek drugiego zapytania, ale nie pierwszego.