Các truy vấn SQL sau giống nhau:
SELECT column1, column2
FROM table1, table2
WHERE table1.id = table2.id;
SELECT column1, column2
FROM table1 JOIN table2
ON table1.id = table2.id;
Và chắc chắn dẫn đến các kế hoạch truy vấn giống nhau trên mọi DBMS tôi từng thử.
Nhưng thường xuyên, tôi đọc hoặc nghe một ý kiến rằng cái này chắc chắn tốt hơn cái kia. Đương nhiên, những tuyên bố này không bao giờ được chứng minh bằng một lời giải thích.
Nơi tôi làm việc, phiên bản thứ hai dường như được ưa chuộng bởi phần lớn các nhà phát triển khác, và vì vậy tôi cũng có xu hướng hướng tới phong cách đó để giảm thiểu bất ngờ. Nhưng trong thâm tâm, tôi thực sự đang nghĩ đến điều đầu tiên (vì đó là cách ban đầu tôi học nó).
Là một trong những hình thức khách quan tốt hơn so với hình thức khác? Nếu không, lý do để sử dụng cái này hơn cái kia là gì?