Trong
FROM working_place wp
JOIN working_place_worker wpw ON ...
WHERE ...
ON
mệnh đề đề cập đến chỉ vào hai bảng tham gia tham gia, cụ thể là wp
và wpw
. Tên từ truy vấn bên ngoài không hiển thị với nó.
WHERE
mệnh đề (và người anh em họ của nó HAVING
là phương tiện mà truy vấn bên ngoài có tương quan với truy vấn con. Các tên từ truy vấn bên ngoài là hiển thị cho nó.
Để dễ nhớ,
- ON là về THAM GIA, hai bảng liên quan như thế nào để tạo thành một hàng (hoặc các hàng)
- WHERE là về tiêu chí lựa chọn, bài kiểm tra mà các hàng phải vượt qua
Trong khi trình phân tích cú pháp SQL sẽ thừa nhận các ký tự (không phải là tên cột) trong mệnh đề ON, nó sẽ vẽ dòng tại các tham chiếu đến các cột bên ngoài phép nối. Bạn có thể coi điều này như một ân huệ bảo vệ chống lại sai sót.
Trong trường hợp của bạn, wo
bảng không phải là một phần của JOIN
, và bị từ chối. Nó là một phần của toàn bộ truy vấn và được WHERE
nhận dạng .