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.