Truy vấn này sẽ trả về các hàng, trong đó b là 5 hoặc 7 , VÀ c là 4 .
Ý bạn là gì khi "đánh giá theo cặp?"
Cập nhật:
Tôi sẽ thêm một hàng nữa vào mẫu:
+----------+----------+----------+
| PK | b | c |
+----------+----------+----------+
| 1 | 2 | 3 |
+----------+----------+----------+
| 2 | 5 | 4 |
+----------+----------+----------+
| 3 | 7 | 9 |
+----------+----------+----------+
| 4 | 7 | 4 |
+----------+----------+----------+
| 5 | 2 | 9 |
+----------+----------+----------+
Nếu bạn muốn so khớp toàn bộ, bạn có thể sử dụng cú pháp sau:
SELECT *
FROM table_name
WHERE (b, c) IN ((2, 3), (7, 9))
Điều này có nghĩa là:"trả về tất cả các hàng có b là 2 và c là 3 đồng thời, HOẶC b là 7 và с là 9 đồng thời. "
Trong ví dụ trên, truy vấn này sẽ trả về các hàng 1 và 3
Nhưng nếu bạn viết lại truy vấn này theo cách khác, như thế này:
SELECT *
FROM table_name
WHERE b IN (2, 7)
AND c IN (3, 9)
, điều này có nghĩa là "trả về tất cả các hàng có b là 2 hoặc 7 , VÀ c là 3 hoặc 9 ).
Điều này sẽ trả về các hàng 1 , 3 và 5 , kể từ hàng 5 thỏa mãn điều kiện cho truy vấn thứ hai nhưng không thỏa mãn điều kiện cho truy vấn đầu tiên.