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

Thứ tự của các bảng trong một phép nối có quan trọng không khi các phép nối LEFT (bên ngoài) được sử dụng?

Cũng vậy thôi nhưng với cái ngầm thì mơ hồ chẳng khác gì địa ngục. THAM GIA CHÉO. Sử dụng JOINS rõ ràng.

Nếu bạn đang tham gia mệnh đề WHERE thì kết quả có thể khác nhau vì liên kết và bộ lọc được trộn lẫn.

SELECT ....
  FROM apples a
       JOIN
       bananas b ON ...
       JOIN 
       oranges o ON ...
       LEFT JOIN
       kiwis k ON k.orange_id = o.id
 WHERE (filters only)

Ghi chú:

  • INNER JOINS và CROSS JOINS có tính chất giao hoán và liên kết:thứ tự thường không quan trọng.
  • THAM GIA NGOÀI TRỜI không phải là cái mà bạn đã xác định
  • SQL mang tính khai báo:bạn cho người tối ưu biết bạn muốn gì chứ không phải cách thực hiện. Điều này sẽ loại bỏ các cân nhắc về đơn đặt hàng THAM GIA (tùy thuộc vào 2 mục trước đó)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Triển khai thiết lập đa trung tâm dữ liệu cho PostgreSQL - Phần thứ hai

  2. Làm cách nào để hợp nhất các cột từ hai bảng thành một đầu ra?

  3. Cách thêm số ngày làm việc vào ngày nhất định

  4. Câu lệnh GROUP BY + CASE

  5. Tìm kích thước byte của một hàng trong PostgreSQL