การใช้ 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
สองตัวนี้ให้ผลลัพธ์ไม่เหมือนกันครับ
ขอบคุณมากนะค่ะ โค้ดคุณใช้เขียนได้ง่ายๆ
เข้าใจง่ายด้วย
แสดงความคิดเห็น