sự khác biệt giữa hai truy vấn này là gì:MySQL kết hợp hồ sơ từ hai bảng với tham gia và không
SELECT `threads`.`id` AS `threads.id` , `posts`.`id` , `posts`.`content`
FROM `threads`
JOIN `posts` ON `threads`.`id` = `posts`.`thread_id`
Và
SELECT `threads`.`id` AS `threads.id` , `posts`.`id` , `posts`.`content`
FROM `threads` , `posts`
WHERE `threads`.`id` = `posts`.`thread_id`
Cả hai đều trở lại cùng một dữ liệu.
Vào thập niên 70 khi tôi bắt đầu với SQL, câu lệnh thứ 2 là chỉ có thể tham gia. Sau đó, Chris Date "phát minh ra" JOINS khác và đó là nơi mà cú pháp mới được đưa vào. – Martin
Yep; cả hai đều hoạt động tốt. Bánh mì lập trình mới đang được nói với cách "PHẢI" để làm điều đó là sử dụng ANSI. Nhưng tôi đã tìm thấy cả hai thường làm việc và SOMETIMES các pre-ANSI tham gia thực sự sẽ được nhanh hơn và ngược lại. Tôi không biết tại sao họ tạo ra các kế hoạch thực hiện khác nhau với các buổi biểu diễn khác nhau; nhưng đôi khi họ chỉ làm. – xQbert