1. 학습
  2. /
  3. 강의
  4. /
  5. Python으로 배우는 데이터베이스 입문

Connected

연습 문제

Table에서 선택한 데이터 필터링 - 심화

이제 정말 익숙해지셨어요! SQLAlchemy에서는 and_(), or_(), not_() 같은 접속사를 사용해 더 복잡한 필터링을 만들 수도 있어요. 예를 들어, 다음 코드는 뉴욕에 살면서 나이가 21세 또는 37세인 사람들의 레코드를 가져옵니다:

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

이에 해당하는 SQL문은 예를 들어 다음과 같습니다.

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

지침

100 XP
  • sqlalchemy 모듈에서 and_를 import 하세요.
  • census 테이블에서 모든 레코드를 선택하세요.
  • state가 'California'이고 sex가 'M'이 아닌 모든 레코드를 필터링하는 where 절을 추가하세요.
  • 연결에서 stmt를 실행하고 ResultProxy를 반복(iterate)하여 각 레코드의 age와 sex 열을 출력하세요.