๑๔ พ.ย. ๒๕๕๐

การใช้ inner join ภาษา sql

การใช้ inner join ภาษา sql

syntax : SELECT * FROM table1 INNER JOIN table2 ON table1.primary_key = table2.foreign_key ;

inner join เป็นการจับเอาตาราง 2 ตาราง มารวมกัน โดยยึดหลักว่า ข้อมูลจะต้องมีตรงกัน ในทั้งสองตาราง ถึงจะเอามา

ถ้าผมมี ตาราง ในฐานข้อมูล 2 ตาราง และ มีข้อมูล ดังนี้

ตาราง branch


ตาราง member




ดูคำสั่งนี้นะครับ

SELECT * FROM branch INNER JOIN member ON ( branch.branch_id = member.branch_id)


ผลลัพธ์ จะได้ข้อมูล 3 แถว




จะเห็นว่าข้อมูลที่ได้มา จะต้องมี branch_id ทั้งในตาราง ที่หนึ่ง และ ตารางที่สอง ถ้าตารางที่ 1 มี แต่ตารางที่ 2 ไม่มี ก็ไม่เอาข้อมูล แถวนั้น

๓ ความคิดเห็น:

ไม่ระบุชื่อ กล่าวว่า...

ข้อสอบถามหน่อยครับ
ถ้าผมไม่ใช้ inner join แต่ผมใช้ left join แทน ก็ได้นิครับ

ช่วยตอบปัญหาเด็กน้อยให้กระจ่างหน่อยครับ
ว่าทำมัยต้องเป็น ตัวนี้ หรือ ตัวนั้น
ทั้งที่ได้ผลลัพท์เหมือนกัน

วัชรเมธน์ ชิษณุคุปต์ ศรีเนธิโรทัย กล่าวว่า...

inner join นี่มันจะออกมาเฉพาะแถวที่มี คีย์ทั้งสองตาราง
left join นี่ตารางหลักออกหมด แล้วเอาอีกตารางมา join

สองตัวนี้ให้ผลลัพธ์ไม่เหมือนกันครับ

ไม่ระบุชื่อ กล่าวว่า...

ขอบคุณมากนะค่ะ โค้ดคุณใช้เขียนได้ง่ายๆ
เข้าใจง่ายด้วย