Deze zoekopdracht retourneert rijen, waarbij b
is ofwel 5
of 7
, EN c
is 4
.
Wat bedoel je met "evaluatie in paren?"
Bijwerken:
Ik zal nog een rij aan het voorbeeld toevoegen:
+----------+----------+----------+
| PK | b | c |
+----------+----------+----------+
| 1 | 2 | 3 |
+----------+----------+----------+
| 2 | 5 | 4 |
+----------+----------+----------+
| 3 | 7 | 9 |
+----------+----------+----------+
| 4 | 7 | 4 |
+----------+----------+----------+
| 5 | 2 | 9 |
+----------+----------+----------+
Als u de hele sets wilt matchen, kunt u deze syntaxis gebruiken:
SELECT *
FROM table_name
WHERE (b, c) IN ((2, 3), (7, 9))
Dit betekent:"retourneer alle rijen waar b
is 2
en c
is 3
tegelijkertijd, OF b
is 7
en с
is 9
tegelijkertijd."
In het bovenstaande voorbeeld retourneert deze query rijen 1
en 3
Maar als je deze query andersom schrijft, als volgt:
SELECT *
FROM table_name
WHERE b IN (2, 7)
AND c IN (3, 9)
, betekent dit "alle rijen retourneren waar b
is ofwel 2
of 7
, EN c
is ofwel 3
of 9
).
Dit retourneert rijen 1
, 3
en 5
, sinds rij 5
voldoet aan de voorwaarde voor de tweede zoekopdracht, maar niet voor de eerste.