Denna fråga returnerar rader, där b
är antingen 5
eller 7
, OCH c
är 4
.
Vad menar du med "utvärdering i par?"
Uppdatering:
Jag lägger till en rad till i exemplet:
+----------+----------+----------+
| PK | b | c |
+----------+----------+----------+
| 1 | 2 | 3 |
+----------+----------+----------+
| 2 | 5 | 4 |
+----------+----------+----------+
| 3 | 7 | 9 |
+----------+----------+----------+
| 4 | 7 | 4 |
+----------+----------+----------+
| 5 | 2 | 9 |
+----------+----------+----------+
Om du vill matcha hela uppsättningarna kan du använda denna syntax:
SELECT *
FROM table_name
WHERE (b, c) IN ((2, 3), (7, 9))
Detta betyder:"returnera alla rader där b
är 2
och c
är 3
samtidigt, ELLER b
är 7
och с
är 9
samtidigt."
I exemplet ovan kommer denna fråga att returnera rader 1
och 3
Men om du skriver om den här frågan åt andra hållet, så här:
SELECT *
FROM table_name
WHERE b IN (2, 7)
AND c IN (3, 9)
, kommer detta att betyda "returnera alla rader där b
är antingen 2
eller 7
, OCH c
är antingen 3
eller 9
).
Detta kommer att returnera rader 1
, 3
och 5
, eftersom rad 5
uppfyller villkoret för den andra frågan men inte för den första.