Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL

เข้าร่วม SQL INNER:คู่มือฉบับสมบูรณ์

คำสั่ง SQL INNER JOIN ส่งกลับแถวที่มีค่าที่แน่นอนในสองคอลัมน์ในสองตาราง คุณสามารถเข้าร่วมตารางในคอลัมน์เดียวหรือหลายคอลัมน์ คำสั่ง JOIN เชื่อมต่อตารางฐานข้อมูลสองตารางและเปรียบเทียบเนื้อหา

อาจมีบางครั้งที่คุณต้องการรับข้อมูลจากตารางตั้งแต่สองตารางขึ้นไปพร้อมๆ กันและรวมผลลัพธ์เข้าด้วยกัน

ตัวอย่างเช่น คุณอาจต้องการรับรายการผลิตภัณฑ์และชื่อซัพพลายเออร์ที่จัดหาผลิตภัณฑ์เหล่านั้น ข้อมูลสำหรับชื่อผลิตภัณฑ์และชื่อซัพพลายเออร์อยู่ในสองตาราง

นี่คือที่ที่ SQL เข้าร่วมเข้ามา โดยใช้ เข้าร่วม เงื่อนไข คุณสามารถรวมข้อมูลจากหลาย ๆ ตารางเข้าดังต่อไปนี้:ชุดผลลัพธ์เดียว SQL INNER JOIN เป็นประเภทของการรวมที่ส่งคืนระเบียนที่มีค่าคอลัมน์ที่ตรงกันในสองตาราง ในบทช่วยสอนนี้ เราจะพูดถึงวิธีใช้ INNER JOIN

SQL INNER เข้าร่วม

SQL INNER JOIN จะดึงระเบียนทั้งหมดที่มีค่าคอลัมน์ที่ปรากฏในตารางที่ระบุสองตาราง คำสั่ง INNER JOIN ใช้คีย์เวิร์ด ON เพื่อจับคู่ข้อมูลในสองตาราง

เข้าร่วมภายใน เป็นประเภทที่พบบ่อยที่สุดของ SQL join . ตัวดำเนินการส่งกลับระเบียนที่ตรงกันในทั้งสองตาราง

มาดูไวยากรณ์ของ INNER JOIN . กัน คีย์เวิร์ด:

เลือกชื่อ

81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้

ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก

จากลูกค้า

INNER JOIN แผน

ON ลูกค้า.plan_id =plan.id;

แบบสอบถามนี้รวมแถวจากตาราง "ลูกค้า" และ "แผน" ส่งคืนรายชื่อลูกค้าทั้งหมดที่มี “plan_id” เท่ากับ ID ใดๆ ในตาราง “plans”

เราใช้ INNER JOIN clause เพื่อเข้าร่วมตารางของเรา คำหลัก ON มาหลังชื่อของตารางที่เราเข้าร่วม คุณสามารถระบุเงื่อนไขได้หลายรายการหลังคีย์เวิร์ด ON โดยคั่นด้วยเครื่องหมายจุลภาค

INNER JOIN SQL ตัวอย่าง

ขณะนี้ เรามีฐานข้อมูลพนักงานที่เก็บ ID แผนกของพนักงานแต่ละคนใน พนักงาน โต๊ะ. เราสร้างตารางนี้ด้วยคำสั่ง SQL CREATE TABLE ชื่อแผนกจะถูกเก็บไว้ในตารางแยกต่างหากที่เรียกว่า company_departments .

นี่คือ พนักงาน ตาราง:

พนักงาน
ชื่อ หัวเรื่อง แผนก_id
ลุค
พนักงานขาย 1
ไมค์ พนักงานขาย 1
ฮันนาห์ พนักงานขาย 1
เจฟฟ์ พนักงานขายอาวุโส 1
อเล็กซิส พนักงานขาย 1
โจนาห์ รองประธานฝ่ายขาย 3
เอ็มม่า ผู้อำนวยการฝ่ายการตลาด 2

(7 แถว)

นี่คือตารางแผนก:

company_departments
แผนก_id ชื่อ
1 ยอดขาย
2 การตลาด
3 ผู้บริหาร

(3 แถว)

สมมติว่าเราต้องการทราบชื่อ ตำแหน่ง และชื่อแผนกสำหรับพนักงานทุกคน ข้อมูลนี้อยู่ภายในสองตาราง:ชื่อและตำแหน่งพนักงานอยู่ใน พนักงาน โต๊ะ. ชื่อแผนกอยู่ใน company_departments ตาราง

เราจะได้รับข้อมูลที่ต้องการได้อย่างไร

พนักงาน ตารางมีคอลัมน์ชื่อ department_id . คอลัมน์นี้มีรหัสของแผนกที่พนักงานแต่ละคนทำงานอยู่

ใน company_departments ตารางแต่ละแผนกก็มี ID (ซึ่งเป็นคีย์หลักในตาราง) ซึ่งหมายความว่าเราสามารถจับคู่ department_id . ของพนักงานได้ กับรายชื่อหน่วยงาน การทำเช่นนี้จะทำให้เราทราบชื่อแผนกที่พนักงานคนนั้นทำงานอยู่

มาเขียนแบบสอบถามที่เรียกชื่อพนักงาน ตำแหน่ง และชื่อแผนกที่พวกเขาทำงาน:

SELECT Employees.Name, Employees.Title, Company_Departments.Name
FROM Employees
INNER JOIN Company_Departments
ON Employees.Department_ID = Company_Departments.Department_ID;

แบบสอบถามของเราส่งคืนแถวที่ตรงกันต่อไปนี้:

ชื่อ หัวเรื่อง ชื่อ
อเล็กซิส พนักงานขาย ยอดขาย
เจฟฟ์ พนักงานขายอาวุโส ยอดขาย
ฮันนาห์ พนักงานขาย ยอดขาย
ไมค์ พนักงานขาย ยอดขาย
ลุค พนักงานขาย ยอดขาย
เอ็มม่า ผู้อำนวยการฝ่ายการตลาด การตลาด
โจนาห์ รองประธานฝ่ายขาย ผู้บริหาร

ในบรรทัดแรก เราบอกให้ฐานข้อมูลรับชื่อและตำแหน่งพนักงานจาก พนักงาน โต๊ะ. นอกจากนี้เรายังเรียกชื่อแผนกของบริษัทจาก company_departments ตาราง

ในบรรทัดที่สอง เราระบุว่าเราต้องการรับข้อมูลพนักงานจาก พนักงาน โต๊ะ. ต่อไป เราใช้ INNER JOIN เพื่อเชื่อมต่อ พนักงาน . ของเรา ตารางที่มี company_departments ตารางซึ่งประกอบด้วยชื่อหน่วยงานต่างๆ

สุดท้าย บรรทัดสุดท้ายของเราเชื่อมโยงทั้ง พนักงาน และ company_departments ตารางร่วมกันตามเขตข้อมูลร่วมของพวกเขา ในกรณีนี้ department_id .

บทสรุป

คำสั่ง SQL INNER JOIN จะดึงระเบียนที่มีค่าคอลัมน์ที่ตรงกันสองค่าในสองตาราง คำสั่ง ON ให้คุณระบุเงื่อนไขที่ inner join ของคุณทำงาน

การรวม Mastering เป็นส่วนสำคัญในการสืบค้น SQL ฐานข้อมูล และความเข้าใจนี้จะทำให้คุณก้าวเข้าใกล้การเป็น SQL ผู้เชี่ยวชาญ

เราได้เขียนวิธีการเรียนรู้คู่มือ SQL เพื่อช่วยให้ผู้เรียนเช่นคุณเชี่ยวชาญ SQL คู่มือนี้ประกอบด้วยรายการแหล่งข้อมูลและหลักสูตรการเรียนรู้ชั้นนำ ตลอดจนคำแนะนำเกี่ยวกับวิธีการเรียนรู้ SQL ดูคำแนะนำในหน้า How to Learn SQL ของเรา