Тази заявка ще върне редове, където 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
удовлетворява условието за втората заявка, но не и за първата.