Khoảng "trái" là kết quả của tất cả mọi thứ xuất hiện đầu tiên trong toàn bộ mệnh đề FROM khi đọc từ trái sang phải - bao gồm kết quả của các JOIN, truy vấn phụ, VIEW và thủ tục lưu trữ khác. Thứ tự của các bảng trong phần ON
của mệnh đề JOIN
là không liên quan, do đó, cả hai câu lệnh SQL đều tương đương nhau.
Kết nối thông thường chỉ hiển thị các dòng có mệnh đề ON của JOIN là true, trong khi LEFT JOIN cũng hiển thị các bản ghi từ "left" nếu điều kiện là false (hiển thị NULL cho bất kỳ cột nào từ "right" hiện diện trong SELECT).
Ví dụ:
-- People: -- Car
id | name owner_id | model
---+------------ ---------+------------
1 | Paul 1 | Ferrari
2 | Nancy 2 | Porsche
3 | Arthur NULL | Lamborghini
4 | Alfred 10 | Maserati
> select people.name, car.model from people join car on car.owner_id=people.id;
name | model
---------+--------------
Paul | Ferrari
Nancy | Porsche
2 record(s) found
> select people.name, car.model from people left join car on
car.owner_id=people.id;
name | model
---------+--------------
Paul | Ferrari
Nancy | Porsche
Arthur | NULL
Alfred | NULL
4 record(s) found
> select people.name, car.model from people left join car on
people.id = car.owner_id;
name | model
---------+--------------
Paul | Ferrari
Nancy | Porsche
Arthur | NULL
Alfred | NULL
4 record(s) found
Nguồn
2010-11-05 20:23:07
Đó URL hiện trỏ tới example.com ... –
@djacobson: Cảm ơn, sửa chữa. Không có gì để smiple nó không thể được hơi say lên! –
Smiple, eh? * Trên thực tế * :) –