Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Đánh giá bội số Biểu thức 'IN' trong mệnh đề 'WHERE' trong mysql

Truy vấn này sẽ trả về các hàng, trong đó b5 hoặc 7 , VÀ c4 .

Ý 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ó b2c3 đồng thời, HOẶC b7с9 đồng thời. "

Trong ví dụ trên, truy vấn này sẽ trả về các hàng 13

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ó b2 hoặc 7 , VÀ c3 hoặc 9 ).

Điều này sẽ trả về các hàng 1 , 35 , 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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL bao gồm 0 hàng khi sử dụng COUNT với GROUP BY

  2. Kết nối Propel an toàn, MySQL từ xa

  3. Entity Framework MySQL tinyint (1) System.Boolean.Parse FormatException

  4. Xoay một bảng và hiển thị n chuỗi thời gian có thứ tự

  5. Tìm kiếm một cột chứa dữ liệu CSV trong bảng MySQL để biết sự tồn tại của các giá trị đầu vào