Тази заявка ще върне редове, където b е или 5 или 7 , И c е 4 .
Какво имате предвид под „оценка по двойки?“
Актуализация:
Ще добавя още един ред към извадката:
+----------+----------+----------+
| PK | b | c |
+----------+----------+----------+
| 1 | 2 | 3 |
+----------+----------+----------+
| 2 | 5 | 4 |
+----------+----------+----------+
| 3 | 7 | 9 |
+----------+----------+----------+
| 4 | 7 | 4 |
+----------+----------+----------+
| 5 | 2 | 9 |
+----------+----------+----------+
Ако искате да съпоставите целите набори, можете да използвате този синтаксис:
SELECT *
FROM table_name
WHERE (b, c) IN ((2, 3), (7, 9))
Това означава:„връщане на всички редове, където b е 2 и c е 3 едновременно, ИЛИ b е 7 и с е 9 едновременно."
В примера по-горе тази заявка ще върне редове 1 и 3
Но ако пренапишете тази заявка по обратния начин, така:
SELECT *
FROM table_name
WHERE b IN (2, 7)
AND c IN (3, 9)
, това ще означава "връщане на всички редове, където b е или 2 или 7 , И c е или 3 или 9 ).
Това ще върне редове 1 , 3 и 5 , тъй като ред 5 удовлетворява условието за втората заявка, но не и за първата.