เราสามารถรวมตารางสองตารางใน SQL ตามคอลัมน์ทั่วไประหว่างตารางหรือตามเงื่อนไขที่ระบุ มี JOIN หลายประเภทที่สามารถเข้าร่วมตาราง SQL สองตารางได้
ที่นี่ เราจะหารือเกี่ยวกับการเข้าร่วมด้วยตนเองในสองตาราง
เป็นชื่อที่มีความหมาย SELF join คือการรวมตัวกับตารางนั้นเอง การรวมนี้ดำเนินการระหว่างสองสำเนาของตารางเดียวกัน แถวของตารางจะจับคู่กับแถวอื่นๆ ของตารางเดียวกันตามเงื่อนไขบางประการ
ไวยากรณ์
SELECT a.coulmn1 , b.column2FROM table_name a, table_name bWHERE condition;
a และ b เป็นสองนามแฝงของตารางเดียวกัน
table_name คือชื่อของตารางที่จะทำการรวมตัวเอง ทั้งสองแห่งใช้ชื่อตารางเดียวกันเนื่องจากเรากำลังดำเนินการเข้าร่วมด้วยตนเอง
ให้มีตารางชื่อ “นักศึกษา” ดังนี้ −
นักศึกษา
<ก่อนหน้า>+----------+--------------+-----------+| id | Student_name | Dept_id |+----------+--------------+-----------+| 1 | ราหุล | 120 || 2 | โรหิต | 121 || 3 | กีรติ | 121 || 4 | อินเดอร์ | 123 |+----------+--------------+-----------+
เราจะทำการเข้าร่วมด้วยตนเองในตารางข้างต้นตามเงื่อนไข a.Dept_id
นำเข้าตัวเชื่อมต่อ MySQL
สร้างการเชื่อมต่อกับตัวเชื่อมต่อโดยใช้ connect()
สร้างวัตถุเคอร์เซอร์โดยใช้เมธอด cursor()
สร้างแบบสอบถามโดยใช้คำสั่ง mysql ที่เหมาะสม
เรียกใช้คำสั่ง SQL โดยใช้เมธอด execute()
ปิดการเชื่อมต่อ
ขั้นตอนในการเข้าร่วมด้วยตนเองในสองตารางโดยใช้ MySQL ใน python
ตัวอย่าง
นำเข้า mysql.connectordb=mysql.connector.connect(host="your host", user="your username", password="yourpassword",database="database_name")cursor=db.cursor()query=" เลือก a.Dept_id,b.Student_name จาก นักศึกษา a, นักเรียน bWHERE a.Dept_id
ผลลัพธ์
Dept_id
Student_name
120
Rohit
120
กีรติ
120
Inder
121
Inder
121
Inder