Ý định là một vô điều kiện LEFT JOIN
, là khác nhau từ CROSS JOIN
trong đó tất cả các hàng từ biểu thức bảng bên trái được trả về, ngay cả khi không có khớp nào trong biểu thức bảng bên phải - trong khi CROSS JOIN
loại bỏ các hàng như vậy khỏi kết quả. Thông tin thêm về cách tham gia trong sách hướng dẫn.
Tuy nhiên:
1=1
là vô nghĩa trong Postgres và tất cả các công cụ phái sinh bao gồm Amazon Redshift. Chỉ cần sử dụng true
. Điều này có thể đã được chuyển từ một RDBMS khác không hỗ trợ boolean
nhập đúng cách.
... LEFT JOIN (SELECT ...) ue ON true
Sau đó, một lần nữa, LEFT JOIN
là vô nghĩa đối với truy vấn con cụ thể này với SELECT MIN(modified) FROM user
ở bên phải, vì SELECT
với một hàm tổng hợp (min()
) và không có GROUP BY
mệnh đề luôn trả về chính xác một hàng. Trường hợp này (nhưng không phải các trường hợp khác trong đó không có hàng có thể được tìm thấy) có thể được đơn giản hóa thành:
... CROSS JOIN (SELECT MIN(modified) AS first_modified FROM user) ue