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

Chính xác thì việc sử dụng OR trong một câu lệnh MySQL khác với / không có dấu ngoặc đơn như thế nào?

Điều này là do OR có ưu tiên toán tử thấp hơn hơn AND. Bất cứ khi nào DB nhìn thấy một biểu thức như

A AND B OR C

AND được đánh giá đầu tiên, tức là nó tương đương với

(A AND B) OR C

Vì vậy, nếu bạn muốn rõ ràng

A AND (B OR C)

thay vào đó, bạn phải đặt trong dấu ngoặc đơn.

Đây là btw không dành riêng cho SQL. Thứ tự ưu tiên của các toán tử này giống nhau trong tất cả các ngôn ngữ lập trình mà tôi biết (tức là ít nhất C, C ++, C #, Java và các tập lệnh shell Unix).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để bạn gỡ lỗi các thủ tục lưu trữ MySQL?

  2. PHP MySQL chèn truy vấn xây dựng mảng liên kết đa chiều từ các khóa mảng

  3. Mysql:Chọn các hàng từ một bảng không nằm trong bảng khác

  4. Kết nối Pdo không có tên cơ sở dữ liệu?

  5. Sự khác biệt về thuật ngữ MySQL so với khóa nước ngoài?