การ join อัตโนมัติด้วยความสัมพันธ์ที่กำหนดไว้แล้ว
หากมีสองตารางที่มีความสัมพันธ์กันอยู่แล้ว สามารถใช้ความสัมพันธ์นั้นได้โดยตรง เพียงแค่ระบุคอลัมน์ที่ต้องการจากแต่ละตารางใน select statement ลองนึกถึงคิวรีที่ Jason สร้างขึ้น:
stmt = select([census.columns.pop2008, state_fact.columns.abbreviation])
เพื่อ join ตาราง census และ state_fact แล้วเลือกคอลัมน์ pop2008 จากตารางแรก และคอลัมน์ abbreviation จากตารางที่สอง ในกรณีนี้ ตาราง census และ state_fact มีความสัมพันธ์ที่กำหนดไว้ล่วงหน้า คือคอลัมน์ state ของตารางแรกสอดคล้องกับคอลัมน์ name ของตารางที่สอง
ในแบบฝึกหัดนี้ จะใช้ความสัมพันธ์ที่กำหนดไว้เดิมเพื่อเลือกคอลัมน์ pop2000 และ abbreviation!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้นสำหรับฐานข้อมูล
คำแนะนำการฝึกหัด
- สร้าง statement เพื่อ join ตาราง
censusและstate_factโดยเลือกคอลัมน์pop2000จากตารางแรก และคอลัมน์abbreviationจากตารางที่สอง - รัน statement เพื่อดึงผลลัพธ์แรก แล้วบันทึกไว้ในตัวแปร
result - กด ส่งคำตอบ เพื่อวนลูปผ่าน key ของ result object แล้วพิมพ์ key และค่าของแต่ละรายการ!
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Build a statement to join census and state_fact tables: stmt
stmt = select([____, ____])
# Execute the statement and get the first result: result
result = connection.execute(____).first()
# Loop over the keys in the result object and print the key and value
for key in result.keys():
print(key, getattr(result, key))