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 사이인 모든 사용자를 선택하세요.