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

คุณจะทำการเข้าร่วมภายในสองตารางโดยใช้ MySQL ใน Python ได้อย่างไร


เราสามารถรวมตารางสองตารางใน SQL ตามคอลัมน์ทั่วไประหว่างตารางหรือตามเงื่อนไขที่ระบุ มี JOIN หลายประเภทที่สามารถเข้าร่วมตาราง SQL สองตารางได้

ในที่นี้ เราจะพูดถึงการเข้าร่วมภายในของสองโต๊ะ

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

เมื่อใช้การรวมระหว่างสองตาราง เราต้องระบุเงื่อนไขตามตารางที่จะเข้าร่วม

ไวยากรณ์

เลือกเงื่อนไข column1, column2...FROM table_1INNER JOIN table_2 ON;

ให้มี 2 ตาราง คือ “นักศึกษา” และ “ภาควิชา” ดังนี้ –

นักศึกษา

<ก่อนหน้า>+----------+--------------+-----------+| id | Student_name | Dept_id |+----------+--------------+-----------+| 1 | ราหุล | 120 || 2 | โรหิต | 121 || 3 | กีรติ | 122 || 4 | อินเดอร์ | 125 |+----------+--------------+-----------+

แผนก

<ก่อนหน้า>+----------+-----------------+| Dept_id | Department_name |+----------+----------------+| 120 | CSE || 121 | คณิตศาสตร์ || 122 | ฟิสิกส์ |+----------+-----------------+

เราจะเข้าร่วมตารางข้างต้นตาม dept_id ซึ่งพบได้ทั่วไปในทั้งสองตาราง

ขั้นตอนในการเข้าร่วมสองตารางโดยใช้ MySQL ใน python

  • นำเข้าตัวเชื่อมต่อ MySQL

  • สร้างการเชื่อมต่อกับตัวเชื่อมต่อโดยใช้ connect()

  • สร้างวัตถุเคอร์เซอร์โดยใช้เมธอด cursor()

  • สร้างแบบสอบถามโดยใช้คำสั่ง mysql ที่เหมาะสม

  • เรียกใช้คำสั่ง SQL โดยใช้เมธอด execute()

  • ปิดการเชื่อมต่อ

ตัวอย่าง

นำเข้า mysql.connectordb=mysql.connector.connect(host="your host", user="your username", password="yourpassword",database="database_name")cursor=db.cursor()query=" SELECT Students.Id,Students.Student_name,Department.Department_nameFROM Students INNER JOIN Department ON Students.Dept_Id=Department.Dept_Id"cursor.execute(query)rows=cursor.fetchall()สำหรับ x ในแถว:พิมพ์ (x)db.close ()

ผลลัพธ์

(1, ‘Rahul’, ‘CSE’)(2, ‘Rohit’, ‘Mathematics’)(3, ‘Kirat’, ‘Physics’)

โปรดสังเกตว่า แถวที่ 4 ไม่รวมอยู่ในผลลัพธ์ เนื่องจากไม่มีบันทึกทางคณิตศาสตร์สำหรับแถวที่ 4 ของตารางนักเรียนในตารางภาควิชา