มีเหตุผลอะไรที่ดีที่จะใช้ประโยชน์จากคำหลัก SQL?


28

ดูเหมือนว่ามีนักพัฒนาจำนวนมากที่เขียน SQL โดยใช้คำหลักเป็นตัวพิมพ์ใหญ่:

SELECT column
FROM table
     INNER JOIN table
     ON condition
WHERE condition
GROUP BY clause
HAVING condition

ฉันสงสัยว่าทำไมผู้คนถึงติดวิธีนี้ เห็นได้ชัดว่าเป็นแบบแผนที่มีมายาวนาน แต่ฉันไม่เคยพบกับ RDBMS ที่ต้องใช้อักษรตัวพิมพ์ใหญ่

โดยส่วนตัวแล้วฉันพบคำหลักที่ควรเรียกร้องความสนใจไปยังส่วนที่ไม่ถูกต้องของแบบสอบถามซึ่งเป็นสาเหตุที่ฉันเขียนคำหลักเป็นตัวพิมพ์เล็ก

ยังมีคนจำนวนมากพอใช้อนุสัญญานี้ที่ฉันคิดว่าฉันอาจจะพลาดบางสิ่งดังนั้นคำถามนี้


3
ยินดีที่ได้ให้คำหลักโดดเด่นยิ่งขึ้นแม้ว่า IDE ของคุณจะทำให้ข้อความคำหลักมีสีแตกต่างกัน
มัฟฟินแมน

3
วิธีเดียวที่จะรับมือกับการมีภาษาในภาษาคือSHOUTคำสั่งที่ล่าม SQL ...
Ben DeMott

คำถามของฉันด้วย +1
Saeed Neamati

การใช้อักษรตัวพิมพ์ใหญ่ของคำหลัก SQL ที่ฉันเข้าใจ ประกาศตารางและแบบสอบถามส่วนใหญ่ฉันเห็นประโยชน์ทุกอย่างชื่อตารางและคอลัมน์รวม
MPelletier

คำตอบ:


22

การใช้อักษรตัวพิมพ์ใหญ่ทำให้พวกเขาโดดเด่นเมื่อเทียบกับตัวละครอื่น ๆ ที่อยู่ในหน้าต่างแบบสอบถาม

เหตุผลที่ฉันไม่ทำเช่นนี้เพราะมันเป็นเวลาที่ยิ่งใหญ่ คุณสามารถทำหนึ่งในสองสิ่งต่อไปนี้:

1) กดปุ่ม Shift ของคุณค้างไว้ในขณะที่พิมพ์คำว่า : เกิดข้อผิดพลาดง่ายเกินไปและแค่จับจด

2) ใส่ตัวพิมพ์ใหญ่สำหรับช่วงเวลาของคำ : ใช้เวลานานเกินไป

ฉันใช้ SQL Server และสภาพแวดล้อม (SSMS) มีการเน้นไวยากรณ์ที่ดีดังนั้นฉันจึงไม่เชื่อว่าการใช้อักษรตัวพิมพ์ใหญ่ของคำหลักเป็นเรื่องที่แพร่หลายในทุกวันนี้เหมือนที่เคยเป็น

มันเป็นวิธีปฏิบัติที่ดีในหนังสือและแบบฝึกหัดออนไลน์ดังนั้นจึงเห็นได้ชัดว่าคำหลักที่สงวนไว้คืออะไร มันเป็นเพียงหนึ่งในสิ่งที่ไม่ได้เขียน


20
@dave แต่ไม่เหมือนกับรหัสแอปพลิเคชันสคริปต์ SQL มีแนวโน้มที่จะดูในตัวแก้ไขโดยไม่มีการเน้นไวยากรณ์
Aaronaught

8
@dave: สคริปต์ SQL นั้นมีอยู่ในตัวเองอย่างสมบูรณ์และเกือบจะได้รับอีเมลพิมพ์ลงใน textareas พิมพ์ออกมาสำหรับผู้ตรวจสอบบัญชีหรือใส่เข้าไปในยูทิลิตี้บรรทัดคำสั่งเช่น SQL * Plus สิ่งนี้ไม่ได้เกี่ยวกับสภาพแวดล้อมของคุณมันเกี่ยวกับอายุการใช้งานของสคริปต์ SQL ที่อยู่นอกสภาพแวดล้อมนั้น - สิ่งที่ไม่เกี่ยวข้องกับซอร์สโค้ดของแอปพลิเคชันจริงๆเพราะไม่มีการใช้งานจริงนอกคอมไพเลอร์ / IDE
Aaronaught

6
คำสั่ง SQL มักปรากฏในล็อกไฟล์ข้อความแสดงข้อผิดพลาดฝังอยู่ในเอกสาร XML และสถานที่ทุกประเภทที่การเน้นไวยากรณ์ไม่ใช่ตัวเลือก - ดังนั้นการจัดรูปแบบใด ๆ ที่ทำให้อ่านง่ายขึ้นยินดีต้อนรับเสมอ
James Anderson

8
-1 ถ้ากด shift ค้างหรือกดปุ่มแคปล็อคมากเกินไปฉันคิดว่ามีปัญหาอื่น ๆ และสิ่งที่คุณบันทึกไว้ 0.25 วินาทีนั้นมีผลกับอะไรจริงๆหรือเปล่า?
TheLQ

2
คำตอบสำหรับคำถามของฉันคือคำถามอื่น: คุณเขียนโค้ด SQL ทุกวันหรือไม่? และคูณ 0.25 วินาทีด้วยจำนวนโค้ดที่นักพัฒนา SQL / dba เขียน ...

8

ฉันพบว่าการใช้ตัวพิมพ์ใหญ่นี้ให้วิธีที่ง่ายและรวดเร็วในการแยกส่วนต่าง ๆ ของแบบสอบถาม สิ่งนี้รวมกับการเยื้องที่ดีสามารถช่วยให้อ่านและทำความเข้าใจกับตรรกะได้

ไม่ว่าจะมีอะไรเกี่ยวข้องกับมาตรฐานหรือไม่ฉันไม่รู้ แต่นั่นคือประสบการณ์ส่วนตัวของฉัน


7

ย้อนกลับไปในสมัยก่อนคำสำคัญไม่ได้ถูกเน้นในทางใด ๆ เมื่อคุณเขียนรหัสดังนั้นจึงเป็นความพยายามที่จะช่วยให้ผู้คนแยกความแตกต่างระหว่างส่วน SQL และวัตถุฐานข้อมูลส่วนของแบบสอบถามมันอาจไปทางอื่น แต่วัตถุ มักจะมีชื่อที่ยาวกว่าทำให้พวกเขาเจ็บปวดมากกว่าการใช้ประโยชน์และการตั้งชื่อวัตถุบางอย่างเป็นกรณีเฉพาะ

โดยส่วนตัวแล้วฉันพบว่ามันอ่านง่ายเหมือนกันถ้าพวกมันไม่ได้เป็นตัวพิมพ์ใหญ่ แต่หลาย ๆ คนก็คุ้นเคยกับการอ่านมันด้วยวิธีนี้


4
เมื่อไม่นานมานี้ฉันได้รับการเปิดเผยต่อผู้ที่ทำสิ่งที่ตรงกันข้ามกลับการประชุมใช้อักษรตัวพิมพ์ใหญ่และปล่อยให้คำหลักเป็นตัวพิมพ์เล็ก มันสั่นสะเทือนพูดน้อย
Aaronaught

6

SQL เป็นภาษาที่เน้นประโยคมากกว่าสิ่งอื่น ๆ ที่ฉันเคยประสบมา คุณได้รับอนุประโยคที่เลือกและจาก FROM clause ของคุณและอนุประโยค JOIN ของคุณและ WHERE clause ของคุณ สั่งซื้อโดยจำแนกตามกลุ่ม ฯลฯ ฯลฯ

การใช้คำหลักเหล่านั้นเป็นตัวพิมพ์ใหญ่ช่วยให้คุณสามารถแยกส่วนคำสั่งแยกต่างหากได้ สิ่งนี้มีประโยชน์อย่างยิ่งเมื่ออยู่ในสถานการณ์การดีบักที่ยุ่งยากซึ่งคุณกำลังแสดงผล SQL ของคุณในความคิดเห็น HTML จากนั้นคัดลอกการวางลงในคอนโซล น่ารังเกียจ แต่เราทุกคนเคยไปที่นั่น เป็นการดีที่ได้รับความช่วยเหลือในการดูว่าคำแถลงแต่ละชิ้นเริ่มต้นที่ใด


2

โดยส่วนตัวแล้วฉันพบคำหลักที่ควรเรียกร้องความสนใจไปยังส่วนที่ไม่ถูกต้องของแบบสอบถามซึ่งเป็นสาเหตุที่ฉันเขียนคำหลักเป็นตัวพิมพ์เล็ก

ดังที่ได้กล่าวไว้แล้วด้วย IDE ตัวเก่าคุณไม่มีตัวเลือกมากมายนอกเหนือจากการสร้างข้อความเพื่อแยกความแตกต่าง เมื่อคุณชี้ให้เห็นว่าการทำให้คำหลักโดดเด่นดึงดูดความสนใจของคุณออกไปจากที่ที่ควรเป็น ปัญหาคือคุณรู้ว่าคำหลักสามารถเป็นตัวพิมพ์ใหญ่ได้ตลอดเวลาในขณะที่สิ่งอื่น ๆ สามารถมีตัวอักษรและตัวระบุที่เป็นกรณี ๆ ไป สิ่งนี้นำไปสู่เส้นทางของความต้านทานน้อยที่สุดเพียงแค่ใช้ประโยชน์จากคำหลัก


-1

ในกรณีของฉันฉันต้องการใช้คำหลักให้เป็นตัวพิมพ์ใหญ่โดยไม่ต้องเน้นไวยากรณ์ ลองนึกภาพว่าคุณไม่มีตัวแก้ไข SQL ที่เหมาะสมและคุณต้องเขียน / แก้ไขหรือเปิดสคริปต์ของคุณใน Notepad หรือ WordPad บรรณาธิการเหล่านี้ไม่มีการเน้นไวยากรณ์

ฉันไม่ได้ใส่ใจมากกับการเน้นไวยากรณ์ของ SQL Server ด้วยเหตุผลเดียวกับที่ฉันอธิบายไว้ข้างต้น แต่มันมีประโยชน์ (มันน่าเบื่อสำหรับฉันที่จะเห็นรหัสทั้งหมดเป็นสีดำ) ฉันใช้ตัวพิมพ์ใหญ่เสมอเพื่อแยกความแตกต่างของคำหลักจากตัวแปรค่าคงที่ชื่อและอื่น ๆ


นี่ควรเป็นความคิดเห็น แต่คุณไม่มีชื่อเสียงที่จะโพสต์หนึ่ง ...
Adam Zuckerman

ฉันได้รับการคุ้มครองในคำถามเดิม - ใช้เมืองหลวงสำหรับคำหลักที่ดึงดูดความสนใจของผู้อ่านไปอย่างน้อยส่วนหนึ่งที่สำคัญของแบบสอบถามหรือคำสั่ง
Bevan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.