Tự động join với mối quan hệ đã được thiết lập
Nếu bạn có hai bảng đã có sẵn mối quan hệ, bạn có thể tự động tận dụng mối quan hệ đó chỉ bằng cách thêm các cột cần lấy từ mỗi bảng vào câu lệnh select. Hãy nhớ rằng Jason đã xây dựng truy vấn sau:
stmt = select([census.columns.pop2008, state_fact.columns.abbreviation])
nhằm join hai bảng census và state_fact và chọn cột pop2008 từ bảng thứ nhất và cột abbreviation từ bảng thứ hai. Trong trường hợp này, hai bảng census và state_fact có mối quan hệ được định nghĩa trước: cột state của bảng thứ nhất tương ứng với cột name của bảng thứ hai.
Trong bài tập này, bạn sẽ dùng cùng mối quan hệ được định nghĩa trước đó để chọn các cột pop2000 và abbreviation!
Bài tập này là một phần của khóa học
Nhập môn Cơ sở dữ liệu với Python
Hướng dẫn bài tập
- Xây dựng câu lệnh để join hai bảng
censusvàstate_factvà chọn cộtpop2000từ bảng thứ nhất và cộtabbreviationtừ bảng thứ hai. - Thực thi câu lệnh để lấy kết quả đầu tiên và lưu vào
result. - Gửi câu trả lời để lặp qua các key của đối tượng result và in ra từng cặp key và value!
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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))