เข้าร่วมใน SQL Server: บทช่วยสอนพร้อมตัวอย่าง
เราสามารถดึงข้อมูลจากตารางมากกว่าหนึ่งตารางโดยใช้คำสั่ง JOIN JOINS มี 4 ประเภทหลักๆ ในเซิร์ฟเวอร์ SQL เราจะเรียนรู้การเข้าร่วมทั้งหมด เซิร์ฟเวอร์ SQL พร้อมตัวอย่าง:
- เข้าร่วมภายใน / เข้าร่วมอย่างง่าย
- เข้าร่วมด้านนอกซ้าย / เข้าร่วมซ้าย
- เข้าร่วมด้านนอกขวา / เข้าร่วมขวา
- เต็ม OUTER เข้าร่วม
INNER JOIN
เซิร์ฟเวอร์ SQL ประเภทนี้ JOIN จะส่งคืนแถวจากตารางทั้งหมดที่มีเงื่อนไขการ Join เป็นจริง โดยใช้รูปแบบต่อไปนี้:
SELECT columns FROM table_1 INNER JOIN table_2 ON table_1.column = table_2.column;
เราจะใช้ตารางทั้งสองต่อไปนี้เพื่อแสดงสิ่งนี้:
โต๊ะนักเรียน:
ตารางค่าธรรมเนียม:
คำสั่งต่อไปนี้สาธิตการ INNER JOIN ใน SQL Server พร้อมตัวอย่าง:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students INNER JOIN Fee ON Students.admission = Fee.admission
คำสั่งจะคืนค่าต่อไปนี้:
เราสามารถบอกนักศึกษาที่ชำระค่าเล่าเรียนแล้วได้ เราใช้คอลัมน์ที่มีค่าร่วมในทั้งสองตาราง ซึ่งก็คือคอลัมน์การรับเข้า
ซ้าย OUTER เข้าร่วม
การรวมประเภทนี้จะส่งกลับแถวทั้งหมดจากตารางด้านซ้ายบวกกับบันทึกในตารางด้านขวามือที่มีค่าที่ตรงกัน ตัวอย่างเช่น:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students LEFT OUTER JOIN Fee ON Students.admission = Fee.admission
โค้ดจะคืนค่าต่อไปนี้:
ระเบียนที่ไม่มีค่าที่ตรงกันจะถูกแทนที่ด้วย NULL ในคอลัมน์ที่เกี่ยวข้อง
เข้าร่วมด้านนอกขวา
การรวมประเภทนี้จะส่งคืนแถวทั้งหมดจากตารางทางขวามือและเฉพาะแถวที่มีค่าที่ตรงกันในตารางทางซ้ายเท่านั้น ตัวอย่างเช่น:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students RIGHT OUTER JOIN Fee ON Students.admission = Fee.admission
คำสั่งสำหรับเซิร์ฟเวอร์ SQL OUTER JOINS จะส่งกลับสิ่งต่อไปนี้:
เหตุผลสำหรับผลลัพธ์ข้างต้นคือแถวทั้งหมดในตารางค่าธรรมเนียมจะมีอยู่ในตารางนักเรียนเมื่อจับคู่ในคอลัมน์การรับเข้าเรียน
เต็ม OUTER เข้าร่วม
การรวมประเภทนี้จะส่งคืนแถวทั้งหมดจากทั้งสองตารางที่มีค่า NULL โดยที่เงื่อนไข JOIN ไม่เป็นความจริง ตัวอย่างเช่น:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students FULL OUTER JOIN Fee ON Students.admission = Fee.admission
โค้ดส่งคืนผลลัพธ์ต่อไปนี้สำหรับแบบสอบถาม FULL OUTER JOINS ใน SQL:






