Diese Abfrage gibt Zeilen zurück, wobei b ist entweder 5 oder 7 , UND c ist 4 .
Was meinen Sie mit „Evaluierung zu zweit“?
Aktualisierung:
Ich füge dem Beispiel eine weitere Zeile hinzu:
+----------+----------+----------+
| PK | b | c |
+----------+----------+----------+
| 1 | 2 | 3 |
+----------+----------+----------+
| 2 | 5 | 4 |
+----------+----------+----------+
| 3 | 7 | 9 |
+----------+----------+----------+
| 4 | 7 | 4 |
+----------+----------+----------+
| 5 | 2 | 9 |
+----------+----------+----------+
Wenn Sie die ganzen Sätze abgleichen möchten, können Sie diese Syntax verwenden:
SELECT *
FROM table_name
WHERE (b, c) IN ((2, 3), (7, 9))
Das bedeutet:„Gib alle Zeilen zurück, in denen b ist 2 und c ist 3 gleichzeitig ODER b ist 7 und с ist 9 gleichzeitig."
Im obigen Beispiel gibt diese Abfrage die Zeilen 1 zurück und 3
Aber wenn Sie diese Abfrage andersherum umschreiben, etwa so:
SELECT *
FROM table_name
WHERE b IN (2, 7)
AND c IN (3, 9)
, bedeutet dies "alle Zeilen zurückgeben, in denen b ist entweder 2 oder 7 , UND c ist entweder 3 oder 9 ).
Dadurch werden die Zeilen 1 zurückgegeben , 3 und 5 , seit Zeile 5 erfüllt die Bedingung für die zweite Abfrage, aber nicht für die erste.