Denne forespørgsel returnerer rækker, hvor b er enten 5 eller 7 , OG c er 4 .
Hvad mener du med "evaluering i par?"
Opdatering:
Jeg tilføjer en række mere til prøven:
+----------+----------+----------+
| PK | b | c |
+----------+----------+----------+
| 1 | 2 | 3 |
+----------+----------+----------+
| 2 | 5 | 4 |
+----------+----------+----------+
| 3 | 7 | 9 |
+----------+----------+----------+
| 4 | 7 | 4 |
+----------+----------+----------+
| 5 | 2 | 9 |
+----------+----------+----------+
Hvis du vil matche hele sætene, kan du bruge denne syntaks:
SELECT *
FROM table_name
WHERE (b, c) IN ((2, 3), (7, 9))
Det betyder:"returner alle rækker hvor b er 2 og c er 3 på samme tid, ELLER b er 7 og с er 9 på samme tid."
I eksemplet ovenfor vil denne forespørgsel returnere rækker 1 og 3
Men hvis du omskriver denne forespørgsel den anden vej rundt, sådan her:
SELECT *
FROM table_name
WHERE b IN (2, 7)
AND c IN (3, 9)
, vil dette betyde "returner alle rækker hvor b er enten 2 eller 7 , OG c er enten 3 eller 9 ).
Dette vil returnere rækker 1 , 3 og 5 , siden række 5 opfylder betingelsen for den anden forespørgsel, men ikke for den første.