Structured Query Language ให้ ผู้ใช้ฐานข้อมูลมีกลไกการดึงข้อมูลที่มีประสิทธิภาพและยืดหยุ่น - คำสั่ง SELECT ในบทความนี้เราจะดูรูปแบบทั่วไปของคำสั่ง SELECT และสร้างแบบสอบถามฐานข้อมูลตัวอย่างบางส่วนด้วยกัน หากนี่เป็นครั้งแรกที่คุณเข้าสู่โลกของ Structured Query Language คุณอาจต้องการอ่านบทความ พื้นฐานของ SQL ก่อนดำเนินการต่อ
หากคุณต้องการออกแบบฐานข้อมูลใหม่ตั้งแต่เริ่มต้นบทความ การสร้างฐานข้อมูลและตารางใน SQL ควรพิสูจน์จุดดีๆในการกระโดดออก
ตอนนี้คุณได้เริ่มต้นทำความเข้าใจกับคำสั่ง SELECT แล้ว เช่นเดียวกับบทเรียน SQL ก่อนหน้าเราจะใช้คำสั่งที่สอดคล้องกับมาตรฐาน ANSI SQL ต่อไป คุณอาจต้องการดูเอกสารสำหรับ DBMS ของคุณเพื่อพิจารณาว่าจะสนับสนุนตัวเลือกขั้นสูงที่อาจเพิ่มประสิทธิภาพและ / หรือประสิทธิภาพของรหัส SQL ของคุณหรือไม่
แบบฟอร์มทั่วไปของคำชี้แจงสิทธิ์ SELECT
รูปแบบทั่วไปของคำสั่ง SELECT ปรากฏด้านล่าง:
SELECT select_list
FROM source
WHERE เงื่อนไข
นิพจน์ GROUP BY
มี สภาพ
ORDER BY แสดงออก
บรรทัดแรกของคำสั่งบอกโปรเซสเซอร์ SQL ว่าคำสั่งนี้เป็นคำสั่ง SELECT และเราต้องการดึงข้อมูลจากฐานข้อมูล select_list ช่วยให้เราสามารถระบุชนิดของข้อมูลที่เราต้องการเรียกคืน
คำสั่ง FROM ในบรรทัดที่สองระบุตารางฐานข้อมูลที่เฉพาะเจาะจงที่เกี่ยวข้องและ คำสั่ง WHERE ช่วยให้เราสามารถ จำกัด ผลลัพธ์ให้กับระเบียนเหล่านั้นที่ตรงกับ เงื่อนไขที่ ระบุ ประโยคสามข้อสุดท้ายแสดงถึงคุณลักษณะขั้นสูงที่อยู่นอกขอบเขตของบทความนี้เราจะสำรวจในบทความ SQL ในอนาคต
วิธีที่ง่ายที่สุดในการเรียนรู้ SQL คือตัวอย่าง เมื่อพิจารณาแล้วเรามาดูการสืบค้นฐานข้อมูลบางอย่าง ตลอดบทความนี้เราจะใช้ตารางพนักงานจากฐานข้อมูลทรัพยากรมนุษย์ของ XYZ Corporation เพื่อแสดงตัวอย่างคำถามทั้งหมดของเรา นี่คือตารางทั้งหมด:
EmployeeID | นามสกุล | ชื่อจริง | เงินเดือน | รายงานถึง |
1 | ช่างเหล็ก | จอห์น | 32000 | 2 |
2 | Scampi | ฟ้อง | 45000 | โมฆะ |
3 | เคนดอล | ทอม | 29500 | 2 |
4 | โจนส์ | อับราฮัม | 35000 | 2 |
5 | อัลเลน | บิล | 17250 | 4 |
6 | นาดส์ | แอลลิสัน | 19500 | 4 |
7 | จอห์นสัน | เคธี่ | 21000 | 3 |
เรียกดูตารางทั้งหมด
ผู้อำนวยการฝ่ายทรัพยากรบุคคลของ XYZ Corporation ได้รับรายงานประจำเดือนโดยระบุข้อมูลเงินเดือนและการรายงานข้อมูลสำหรับพนักงานแต่ละคน การสร้างรายงานนี้เป็นตัวอย่างของแบบฟอร์มที่ง่ายที่สุดของคำสั่ง SELECT เพียงดึงข้อมูลทั้งหมดที่อยู่ภายในตารางฐานข้อมูล - ทุกคอลัมน์และทุกแถว ต่อไปนี้เป็นแบบสอบถามที่จะทำให้ผลลัพธ์นี้:
เลือก *
จากพนักงาน
สวยตรงไปตรงมาใช่มั้ย? เครื่องหมายดอกจัน (*) ที่ปรากฏอยู่ใน select_list เป็นสัญลักษณ์แทนที่ใช้เพื่อแจ้งฐานข้อมูลที่เราต้องการจะดึงข้อมูลจากคอลัมน์ทั้งหมดในตารางของพนักงานที่ระบุไว้ในคำสั่ง FROM เราต้องการเรียกข้อมูลทั้งหมดในฐานข้อมูลดังนั้นจึงไม่จำเป็นต้องใช้คำสั่ง WHERE เพื่อ จำกัด แถวที่เลือกจากตาราง
นี่คือสิ่งที่ผลการค้นหาของเรามีลักษณะดังนี้:
EmployeeID | นามสกุล | ชื่อจริง | เงินเดือน | รายงานถึง |
---------- | -------- | --------- | ------ | --------- |
1 | ช่างเหล็ก | จอห์น | 32000 | 2 |
2 | Scampi | ฟ้อง | 45000 | โมฆะ |
3 | เคนดอล | ทอม | 29500 | 2 |
4 | โจนส์ | อับราฮัม | 35000 | 2 |
5 | อัลเลน | บิล | 17250 | 4 |
6 | นาดส์ | แอลลิสัน | 19500 | 4 |
7 | จอห์นสัน | เคธี่ | 21000 | 3 |