1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Nhập môn Cơ sở dữ liệu với Python

Connected

Bài tập

Lọc dữ liệu chọn từ Table - Nâng cao

Bạn đang bắt nhịp rất tốt! SQLAlchemy cũng cho phép bạn dùng các phép nối logic như and_(), or_() và not_() để xây dựng bộ lọc phức tạp hơn. Ví dụ, ta có thể lấy tập bản ghi cho những người ở New York có tuổi là 21 hoặc 37 với đoạn mã sau:

select([census]).where(
  and_(census.columns.state == 'New York',
       or_(census.columns.age == 21,
          census.columns.age == 37
         )
      )
  )

Một câu lệnh SQL tương đương sẽ là, ví dụ:

SELECT * FROM census WHERE state = 'New York' AND (age = 21 OR age = 37)

Hướng dẫn

100 XP
  • Import and_ từ module sqlalchemy.
  • Chọn tất cả bản ghi từ bảng census.
  • Thêm mệnh đề where để lọc các bản ghi có state là 'California', và sex không phải 'M'.
  • Thực thi stmt trong connection và lặp qua ResultProxy để in các cột age và sex của mỗi bản ghi.