Education*
Devops
Architecture
F/B End
B.Chain
Basic
Others
Books*
CLOSE
Search For:
Search
BY TAGS
linux
HTTP
golang
flutter
java
fintech
개발환경
kubernetes
network
Docker
devops
database
tutorial
cli
분산시스템
www
블록체인
AWS
system admin
bigdata
보안
금융
msa
mysql
redis
Linux command
dns
javascript
CICD
VPC
FILESYSTEM
S3
NGINX
TCP/IP
ZOOKEEPER
NOSQL
IAC
CLOUD
TERRAFORM
logging
IT용어
Kafka
docker-compose
Dart
MySQL AND, OR, NOT 연산자
Recommanded
Free
YOUTUBE Lecture:
<% selectedImage[1] %>
yundream
2022-08-21
2022-08-21
1042
# MySQL AND, OR, NOT 연산자 모든 쿼리는 연습용 데이터베이스를 통해서 실행해 볼 수 있다. [MySQL & SQL 스터디 준비](https://www.joinc.co.kr/w/mysql_study_ready) 를 참고하여 실습환경을 구축하자. MySQL의 **SELECT statement**는 몇 개의 절을 포함하고 있다. 그 중에서 **WHERE 절(Clause)은 특정 조건으로 레코드를 필터링**할 때 사용한다. 이때 한 가지 이상의 조건을 조합해서 사용 해야 하는 경우가 있는데, **AND, OR, NOT**연산자를 이용해서 조건들을 조합 할 수 있다. * **AND** 연산자는 모든 조건이 TRUE인 레코드를 출력한다. * **OR** 연산자는 하나의 조건이라도 TRUE라면 출력한다. * **NOT** 연산자는 조건이 FALSE 인 경우 출력한다. ### AND 구문 AND 구문은 아래와 같다. ```sql SELECT column1, column2, ... FROM table_name WHERE condition1 AND condition2 AND condition3 ...; ``` 상품(products) 테이블에서 SupplierID가 2이고 CategoryId가 2인 상품을 조회해보자. ```sql SELECT roductID, ProductName, UnitPrice FROM products WHERE SupplierID=2 and CategoryID=2; ``` | ProductID | ProductName | UnitPrice | | --------- | ----------- | --------- | | 4 | Chef Anton's Cajun Seasoning | 22.0000 | | 5 | Chef Anton's Gumbo Mix | 21.3500 | | 65 | Louisiana Fiery Hot Pepper Sauce | 21.0500 | | 66 | Louisiana Hot Spiced Okra | 17.0000 | ### OR 구문 OR 구문은 아래와 같다. ```sql SELECT column1, column2, ... FROM table_name WHERE condition1 OR condition2 OR condition3 ...; ``` Customers 테이블에서 거주 국가(Country)가 German 혹은 Demnark 인 사용자를 가져와보자. ```sql SELECT CustomerID, City, Phone, Country FROM customers WHERE Country = 'Germany' OR Country ='Denmark'; ``` | CustomerID | City | Phone | Country | | ---------- | ---- | ----- | ------- | | ALFKI | Berlin | 030-0074321 | Germany | | BLAUS | Mannheim | 0621-08460 | Germany | | DRACD | Aachen | 0241-039123 | Germany | | FRANK | München | 089-0877310 | Germany | | SIMOB | København | 31 12 34 56 | Denmark | ### NOT 구문 NOT 구문은 아래와 같다. ```sql SELECT column1, column2, ... FROM table_name WHERE NOT condition1; ``` 거주지가 Denmark가 아닌 고객들의 목록을 조회해보자. ```sql SELECT CustomerID, City, Phone, Country FROM customers WHERE NOT Country = 'Denmark'; ``` ### OR 와 IN IN은 여러 조건의 범위를 지정하는데 사용하는 연산자다. 각 값중에 하나 이상과 일치하면 조건에 맞는 것으로 평가되기 때문에 OR와 동일하게 사용 할 수 있다. 위의 OR 구문 예제를 IN으로 변경해보자. ```sql SELECT CustomerID, City, Phone, Country FROM customers WHERE Country IN( 'Germany', 'Denmark'); ``` * OR 보다 읽고 쓰기가 쉽다. * OR 연산자보다 빠르다. * 서브쿼리를 넣을 수 있어서 활용 범위가 넓다. ### AND, OR, NOT 연산자를 함께 사용하기 AND, OR, NOT 연산자를 함께 사용하면 다양한 조건으로 필터링 할 수 있다. USA의 Portland와 Seattle에 거주중인 고객을 조회해보자. ```sql SELECT CustomerID, City, Phone, Country FROM customers WHERE Country = 'USA' AND (City='Portland' OR city='Seattle'); ``` | CustomerID | City | Phone | Country | | ---------- | ---- | ----- | ------- | | LONEP | Portland | (503) 555-9573 | USA | | THEBI | Portland | (503) 555-3612 | USA | | WHITC | Seattle | (206) 555-4112 | USA | IN 연산자를 이용하면 더 간단하게 표현 할 수 있다. ```sql SELECT CustomerID, City, Phone, Country FROM customers WHERE Country = 'USA' AND CITY IN ('Portland', 'Seattle'); ``` USA의 Portland와 Seattle 이외의 지역에 거주하는 고객 을 조회해보자. ```sql SELECT CustomerID, City, Phone, Country FROM customers WHERE Country = 'USA' AND NOT (City='Portland' OR city='Seattle'); ``` | CustomerID | City | Phone | Country | | ---------- | ---- | ----- | ------- | | GREAL | Eugene | (503) 555-7555 | USA | | HUNGC | Elgin | (503) 555-6874 | USA | | LAZYK | Walla Walla | (509) 555-7969 | USA | | LETSS | San Francisco | (415) 555-5938 | USA | | OLDWO | Anchorage | (907) 555-7584 | USA |
Recent Posts
클라우드 엔지니어 면접을 위한 지식들 - 소프트웨어 엔지니어링
클라우드 엔지니어 면접을 위한 지식들 - 데이터베이스 1
클라우드 엔지니어 면접을 위한 지식들 - 네트워크
MySQL ALTER TABLE
가트너 선정 2023 년 10대 전략 기술 트랜드 분석 - 산업 클라우드 플랫폼
가트너 선정 2023 10대 전략 기술 트랜드 분석 - 적응형 AI
MySQL INDEX 관리
가트너 선정 2023 10대 전략 기술 트랜드 분석 - AI 신뢰, 위험, 보안관리
가트너 선정 2023 10대 전략 기술 트랜드 분석 - 슈퍼 앱
Minikube 와 함께하는 Kubernetes Study - 목차
Archive Posts
2023 (31)
1Q (31)
2022 (56)
1Q (1)
2Q (1)
3Q (33)
4Q (21)
2021 (39)
1Q (4)
2Q (14)
3Q (16)
4Q (5)
2020 (71)
1Q (19)
2Q (19)
3Q (19)
4Q (14)
2019 (97)
1Q (10)
2Q (30)
3Q (42)
4Q (15)
2018 (93)
1Q (16)
2Q (28)
3Q (38)
4Q (11)
2017 (136)
1Q (44)
2Q (31)
3Q (30)
4Q (31)
2016 (2237)
1Q (2189)
2Q (21)
3Q (12)
4Q (15)
2015 (21)
1Q (21)
Tags
database
mysql
sql
SQL tutorial with MySQL
Copyrights © -
Joinc
, All Rights Reserved.
Inherited From -
Yundream
Rebranded By -
Joonphil
Recent Posts
Archive Posts
Tags