नहीं, यह बिल्कुल सच नहीं है। लेखक अपने पाठकों को भ्रम के लिए स्थापित कर रहा है, और कार्गो-पंथ प्रोग्रामिंग को प्रोत्साहित करता है जो मानक वाक्यविन्यास और इस पुराने संस्करण के बीच एक बहुत शक्तिशाली संरचनात्मक अंतर से बचा जाता है। विशेष रूप से, एक अव्यवस्थित WHERE क्लॉज़ यह पता लगाना कठिन बना देता है कि उसकी क्वेरी क्या विशेष बनाती है।
उनका उदाहरण एक पाठक को अपने अर्थ का एक मानसिक मानचित्र उत्पन्न करने के लिए प्रेरित करता है जिसमें बहुत अधिक अव्यवस्था होती है।
SELECT pet.id, pet.name, pet.age, pet.dead
FROM pet, person_pet, person
WHERE
pet.id = person_pet.pet_id AND
person_pet.person_id = person.id AND
person.first_name = "Zed";
मोटे तौर पर, उपरोक्त है:
पालतू जानवरों की ID, NAME, AGE और DEAD को सभी पालतू जानवरों, person_pet, और उन व्यक्तियों के लिए प्राप्त करें जहाँ pet ID एक व्यक्ति_पेट के pet_id से मेल खाने के लिए होता है, और उस रिकॉर्ड का person_id उस व्यक्ति के व्यक्ति से मेल खाने के लिए होता है जिसका FIRST_NAME "Zed" है
इस तरह के एक मानसिक मानचित्र के साथ, पाठक (जो किसी कारण से हाथ से एसक्यूएल लिख रहा है) बहुत आसानी से गलती कर सकता है, संभवतः एक या अधिक तालिकाओं को छोड़ कर। और इस तरह से लिखे गए कोड के एक पाठक को कड़ी मेहनत करनी होगी, यह पता लगाने के लिए कि एसक्यूएल-लेखक क्या करने की कोशिश कर रहा है। ("हार्डर" वाक्यविन्यास-हाइलाइटिंग के साथ या बिना SQL पढ़ने के स्तर पर है, लेकिन यह अभी भी शून्य अंतर से अधिक है।)
एक कारण है कि जोइन आम क्यों हैं, और यह पुरानी क्लासिक "चिंताओं का पृथक्करण" है। विशेष रूप से, SQL क्वेरी के लिए यह पता लगाने का अच्छा कारण है कि डेटा कैसे संरचित है या डेटा कैसे फ़िल्टर किया जाता है।
यदि क्वेरी को क्लीनर लिखा गया है, जैसे कि
SELECT pet.id, pet.name, pet.age
FROM pet
JOIN person_pet ON pet.id = person_pet.pet_id
JOIN person ON person.id = person_pet.person_id
WHERE
person.first_name = "Zed";
तब पाठक के पास उन घटकों के बीच एक स्पष्ट अंतर होता है जो मांगे जा रहे हैं। इस क्वेरी के विशिष्ट फ़िल्टर को अलग किया जाता है कि इसके घटक एक-दूसरे से कैसे संबंधित हैं, और प्रत्येक संबंध के आवश्यक घटक सीधे बगल में हैं जहां उन्हें आवश्यक है।
बेशक, किसी भी आधुनिक डेटाबेस सिस्टम को दो शैलियों के बीच एक सार्थक अंतर नहीं देखना चाहिए। लेकिन अगर डेटाबेस प्रदर्शन केवल विचार था, तो SQL क्वेरी में सफेद स्थान या कैपिटलाइज़ेशन नहीं होगा।