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.