เข้าร่วมใน 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

ตารางค่าธรรมเนียม:

INNER JOIN

คำสั่งต่อไปนี้สาธิตการ INNER JOIN ใน SQL Server พร้อมตัวอย่าง:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
INNER JOIN Fee
ON Students.admission = Fee.admission

คำสั่งจะคืนค่าต่อไปนี้:

INNER JOIN

เราสามารถบอกนักศึกษาที่ชำระค่าเล่าเรียนแล้วได้ เราใช้คอลัมน์ที่มีค่าร่วมในทั้งสองตาราง ซึ่งก็คือคอลัมน์การรับเข้า

ซ้าย OUTER เข้าร่วม

การรวมประเภทนี้จะส่งกลับแถวทั้งหมดจากตารางด้านซ้ายบวกกับบันทึกในตารางด้านขวามือที่มีค่าที่ตรงกัน ตัวอย่างเช่น:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
LEFT OUTER JOIN Fee
ON Students.admission = Fee.admission

โค้ดจะคืนค่าต่อไปนี้:

ซ้าย OUTER เข้าร่วม

ระเบียนที่ไม่มีค่าที่ตรงกันจะถูกแทนที่ด้วย 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:

เต็ม OUTER เข้าร่วม

สรุปโพสต์นี้ด้วย: