Python แสดงข้อมูลจาก 2 ตารางแบบ join ตาราง บทความนี้สอนการ join ตาราง เพื่อแสดงข้อมูลจาก 2 ตาราง ด้วยภาษา Python ร่วมกับฐานข้อมูล MySQL พร้อมแสดงผลลัพธ์ออกสู่หน้าจอ สามารถเขียนโปรแกรมได้ดังนี้
ตัวอย่าง โครงสร้างข้อมูลตาราง book และ category
ตาราง book
+-------------+---------------+
| Field | Type |
+-------------+---------------+
| book_id | int(11) |
| book_name | char(255) |
| book_cgy_id | int(11) |
+-------------+---------------+
ตาราง category
+----------+-----------+
| Field | Type |
+----------+-----------+
| cgy_id | int(11) |
| cgy_name | char(255) |
+----------+-----------+
ตัวอย่าง Python แสดงข้อมูลจาก 2 ตารางแบบ join ตาราง
import mysql.connector
cnx = mysql.connector.connect(user='root', password='', host='127.0.0.1', database='demo')
cur = cnx.cursor()
cur.execute("SELECT book_id, book_name, cgy_name FROM book INNER JOIN category ON ( book_cgy_id = cgy_id ) ")
records = cur.fetchall()
for row in records:
print(row[0],"/",row[1],"/",row[2])
cnx.close()
ผลลัพธ์
1 / PHP & MySQL / Programming
2 / Python / Programming
3 / SQL / Networking
4 / Java / Networking
Python แสดงข้อมูลจาก 2 ตารางแบบ join ตาราง พิจารณาคำสั่ง SQL ได้ดังนี้
1. SELECT book_id, book_name, cgy_name FROM book คือ เลือก columns ที่จะแสดงจากตาราง book (ตารางหลัก)
2. INNER JOIN category ON ( book_cgy_id = cgy_id ) คือ join ตาราง book และ category เข้าด้วยกันโดยเงื่อนไขคือ ข้อมูลจาก columns book_cgy_id ต้องเท่ากับ cgy_id