Python에서 특정 값으로 레코드 선택하기
필드 값 그룹 중에서 레코드를 선택해야 하는 경우
IN 명령어를 사용할 수 있습니다. 예를 들어,
name 필드 값이 'user1', 'user3'
또는 'user4'인 레코드를 선택할 수 있습니다.
다음과 같이 작성합니다: WHERE id IN ('user1',
'user3', 'user4').
원칙적으로, 이러한 경우
OR 명령어를
사용할 수도 있으며, 그러면 첫 번째 예는 다음과 같습니다:
WHERE id=1 OR id=3 OR
id=7 OR id=14 OR id=28.
IN을 사용하는 방법이 더 간단하고 우아해 보입니다.
예제
id 필드 값이 1, 3, 5인
사용자를 선택해 봅시다:
query = "SELECT * FROM users WHERE id IN (1, 3, 5)"
실행된 코드의 결과:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
예제
IN 명령어는 쿼리 내 다른 명령어와 결합하여 사용할 수 있습니다.
이전 예제를 다시 작성하여 사용자 나이가
23세를 초과해야 한다는 조건도 추가해 보겠습니다:
query = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"
실행된 코드의 결과:
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
실습 문제
급여가 400 및 900인 사용자를 검색하세요.
나이가 25, 27 및 28세이고,
동시에 id가 2를 초과하는 사용자를 검색하세요.