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