Bắt đầu ngayBắt đầu miễn phí

Joins

Nếu bạn không chọn cột từ cả hai bảng hoặc hai bảng không có quan hệ được định nghĩa sẵn, bạn vẫn có thể dùng phương thức .join() trên một bảng để JOIN với bảng khác và lấy thêm dữ liệu liên quan đến truy vấn. join() nhận đối tượng bảng bạn muốn JOIN làm đối số thứ nhất và một điều kiện mô tả cách các bảng liên quan làm đối số thứ hai. Cuối cùng, bạn dùng phương thức .select_from() trên câu lệnh select để bao bọc mệnh đề join. Ví dụ, trong video, Jason đã chạy đoạn mã sau để JOIN bảng census với bảng state_fact sao cho cột state của bảng census tương ứng với cột name của bảng state_fact.

stmt = stmt.select_from(
    census.join(
        state_fact, census.columns.state == 
        state_fact.columns.name)

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

Xem khóa học

Hướng dẫn bài tập

  • Tạo một câu lệnh để chọn TẤT CẢ các cột từ hai bảng censusstate_fact. Ví dụ, để chọn TẤT CẢ các cột từ hai bảng employeessales, bạn dùng stmt = select([employees, sales]).
  • Thêm select_from vào stmt để JOIN bảng census với bảng state_fact theo cột state trong census và cột name trong bảng state_fact.
  • Thực thi câu lệnh để lấy kết quả đầu tiên và lưu vào result. Đoạn mã này đã được viết sẵn.
  • Gửi câu trả lời để lặp qua các khóa của đối tượng kết quả và in ra cặp khóa–giá trị cho từng mục!

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 select the census and state_fact tables: stmt
stmt = select([____, ____])

# Add a select_from clause that wraps a join for the census and state_fact
# tables where the census state column and state_fact name column match
stmt_join = stmt.select_from(
    ____(____, census.columns.____ == state_fact.columns.____))

# Execute the statement and get the first result: result
result = connection.execute(stmt_join).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))
Chỉnh sửa và Chạy Mã