Về cơ bản, sự khác biệt giữa hai là một cái được viết theo cách cũ, trong khi cái kia được viết theo cách hiện đại. Cá nhân, tôi thích tập lệnh hiện đại sử dụng các định nghĩa bên trong, bên trái, bên ngoài, bên phải bởi vì chúng dễ giải thích hơn và làm cho mã dễ đọc hơn.
Tuy nhiên, khi xử lý các phép nối bên trong, không có sự khác biệt thực sự về khả năng đọc, nó có thể trở nên phức tạp khi xử lý các phép nối trái và phải như trong phương thức cũ hơn bạn sẽ có được một cái gì đó như thế này:
SELECT *
FROM table a, table b
WHERE a.id = b.id (+);
Trên đây là cách cũ về cách viết bên trái được viết trái ngược với những điều sau:
SELECT *
FROM table a
LEFT JOIN table b ON a.id = b.id;
Như bạn có thể thấy, cách hiện đại của cách viết kịch bản làm cho truy vấn dễ đọc hơn. (Nhân tiện cũng vậy đối với các phép nối phải và phức tạp hơn một chút đối với các phép nối ngoài).
Quay trở lại tấm nồi hơi, nó không tạo ra sự khác biệt cho trình biên dịch SQL về cách truy vấn được viết khi nó xử lý chúng theo cùng một cách. Tôi đã thấy một sự kết hợp của cả hai trong cơ sở dữ liệu của Oracle, nơi có nhiều người viết vào đó, cả người già và người trẻ. Một lần nữa, nó tập trung vào mức độ dễ đọc của kịch bản và nhóm bạn đang phát triển.