Python에서 SQL 쿼리의 논리 연산
선택 조건에서 OR 및
AND 명령을 사용하여 더 복잡한
조합을 만들 수 있습니다. 이들은 Python의
if 구조에서의 해당 요소들과 동일하게 작동합니다.
예제를 통해 살펴보겠습니다.
예시
급여가 500이고
나이가 23세인 사용자를 선택합니다:
pythonquery = "SELECT * FROM users WHERE salary=500 AND age=23"
실행된 코드의 결과:
python{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
예시
급여가 500이거나
나이가 23세인 사용자를 선택합니다:
pythonquery = "SELECT * FROM users WHERE salary=500 OR age=23"
실행된 코드의 결과:
python{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
예시
급여가 450에서
900 사이인 사용자를 선택합니다:
pythonquery = "SELECT * FROM users WHERE salary>450 AND salary<900"
실행된 코드의 결과:
python{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
예시
나이가 23세에서
27세 이하(포함)인 사용자를 선택합니다:
pythonquery = "SELECT * FROM users WHERE age>=23 AND age<=27"
실행된 코드의 결과:
python{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
예시
OR 및 AND 명령의 복잡한 조합은
조건의 우선순위를 나타내기 위해 괄호를 사용하여 그룹화할 수 있습니다:
pythonquery = "SELECT * FROM users WHERE (age<20 AND age>27) OR (salary>300 AND salary<500)"
실행된 코드의 결과:
python{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
실습 문제
Задание 1
나이가 25세 초과부터
28세 이하까지인 사용자를 선택하세요.
Задание 2
user1 사용자를 선택하세요.
Задание 3
user1 및 user2 사용자를 선택하세요.
Задание 4
user3 사용자를 제외한 모든 사용자를 선택하세요.
Задание 5
나이가 27세이거나 급여가 1000인 모든 사용자를 선택하세요.
Задание 6
나이가 27세이거나 급여가 400이 아닌 모든 사용자를 선택하세요.
Задание 7
나이가 23세 이상부터 27세 미만이거나 급여가 1000인 모든 사용자를 선택하세요.
Задание 8
나이가 23세부터 27세까지이거나 급여가 400에서 1000 사이인 모든 사용자를 선택하세요.