Questa query restituirà righe, dove b
è 5
o 7
, E c
è 4
.
Cosa intendi per "valutazione a coppie?"
Aggiornamento:
Aggiungerò un'altra riga all'esempio:
+----------+----------+----------+
| PK | b | c |
+----------+----------+----------+
| 1 | 2 | 3 |
+----------+----------+----------+
| 2 | 5 | 4 |
+----------+----------+----------+
| 3 | 7 | 9 |
+----------+----------+----------+
| 4 | 7 | 4 |
+----------+----------+----------+
| 5 | 2 | 9 |
+----------+----------+----------+
Se vuoi abbinare tutti i set, puoi usare questa sintassi:
SELECT *
FROM table_name
WHERE (b, c) IN ((2, 3), (7, 9))
Ciò significa:"restituisci tutte le righe in cui b
è 2
e c
è 3
allo stesso tempo, OPPURE b
è 7
e с
è 9
allo stesso tempo."
Nell'esempio sopra, questa query restituirà le righe 1
e 3
Ma se riscrivi questa query al contrario, in questo modo:
SELECT *
FROM table_name
WHERE b IN (2, 7)
AND c IN (3, 9)
, questo significherà "restituire tutte le righe in cui b
è 2
o 7
, E c
è 3
o 9
).
Questo restituirà le righe 1
, 3
e 5
, dalla riga 5
soddisfa la condizione per la seconda query ma non per la prima.