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

Mệnh đề INNER JOIN ON so với WHERE

INNER JOIN là cú pháp ANSI mà bạn nên sử dụng.

Nó thường được coi là dễ đọc hơn, đặc biệt là khi bạn tham gia nhiều bảng.

Nó cũng có thể dễ dàng thay thế bằng OUTER JOIN bất cứ khi nào có nhu cầu.

WHERE cú pháp theo hướng mô hình quan hệ nhiều hơn.

Kết quả của hai bảng JOIN ed là sản phẩm cacte của các bảng mà bộ lọc được áp dụng, bộ lọc chỉ chọn những hàng có các cột tham gia khớp với nhau.

Dễ dàng thấy điều này hơn với WHERE cú pháp.

Đối với ví dụ của bạn, trong MySQL (và trong SQL nói chung) hai truy vấn này là từ đồng nghĩa.

Ngoài ra, lưu ý rằng MySQL cũng có STRAIGHT_JOIN mệnh đề.

Sử dụng mệnh đề này, bạn có thể kiểm soát JOIN thứ tự:bảng nào được quét ở vòng ngoài và bảng nào ở vòng trong.

Bạn không thể kiểm soát điều này trong MySQL bằng cách sử dụng WHERE cú pháp.



  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 cách nào để kiểm tra xem một cột trống hoặc rỗng trong MySQL?

  2. Sử dụng MySQL với Entity Framework

  3. Số tham số không hợp lệ:tham số không được xác định Chèn dữ liệu

  4. Cảnh báo:mysqli_connect ():(HY000 / 2002):Không có tệp hoặc thư mục như vậy

  5. Điền JFreechart TimeSeriesCollection từ Mysql DB?