โดยพื้นฐานแล้วความแตกต่างระหว่างทั้งสองคือสิ่งที่เขียนในแบบเก่าในขณะที่อีกคนหนึ่งเขียนในแบบที่ทันสมัย โดยส่วนตัวแล้วฉันชอบสคริปต์ที่ทันสมัยโดยใช้คำจำกัดความด้านใน, ด้านนอก, ด้านนอก, ด้านขวาเนื่องจากมีคำอธิบายที่ชัดเจนกว่าและทำให้โค้ดอ่านง่ายขึ้น
เมื่อจัดการกับการรวมภายในไม่มีความแตกต่างในการอ่านอย่างแท้จริงอย่างไรก็ตามมันอาจมีความซับซ้อนเมื่อจัดการกับการรวมซ้ายและขวาเหมือนกับวิธีเก่าที่คุณจะได้รับดังนี้:
SELECT *
FROM table a, table b
WHERE a.id = b.id (+);
ด้านบนเป็นวิธีการเขียนการรวมด้านซ้ายแบบเดิมซึ่งตรงข้ามกับสิ่งต่อไปนี้:
SELECT *
FROM table a
LEFT JOIN table b ON a.id = b.id;
ดังที่คุณเห็นด้วยตาวิธีการเขียนสคริปต์ที่ทันสมัยทำให้แบบสอบถามสามารถอ่านได้มากขึ้น (โดยวิธีเดียวกันไปสำหรับการรวมที่เหมาะสมและซับซ้อนเล็กน้อยสำหรับการรวมภายนอก)
การย้อนกลับไปยังแผ่นบอยเลอร์มันไม่ได้สร้างความแตกต่างให้กับคอมไพเลอร์ SQL ว่าวิธีการเขียนคิวรีนั้นเป็นอย่างไรในการจัดการแบบเดียวกัน ฉันได้เห็นทั้งสองอย่างในฐานข้อมูล Oracle ซึ่งมีหลายคนที่เขียนลงไปทั้งผู้อาวุโสและผู้ที่อายุน้อยกว่า อีกครั้งมันจะลดลงไปถึงวิธีการอ่านสคริปต์และทีมที่คุณกำลังพัฒนาด้วย