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.