Education*
Devops
Architecture
F/B End
B.Chain
Basic
Others
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
2023-08-14
2022-08-21
10339
# 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 | ## 참고 [SQL Study With MySQL](https://www.joinc.co.kr/w/sql_study_with_mysql_index) 에서 MySQL과 관련된 다른 문서들을 읽을 수 있습니다.
Recent Posts
Vertex Gemini 기반 AI 에이전트 개발 06. LLM Native Application 개발
최신 경량 LLM Gemma 3 테스트
MLOps with Joinc - Kubeflow 설치
Vertex Gemini 기반 AI 에이전트 개발 05. 첫 번째 LLM 애플리케이션 개발
LLama-3.2-Vision 테스트
Vertex Gemini 기반 AI 에이전트 개발 04. 프롬프트 엔지니어링
Vertex Gemini 기반 AI 에이전트 개발 03. Vertex AI Gemini 둘러보기
Vertex Gemini 기반 AI 에이전트 개발 02. 생성 AI에 대해서
Vertex Gemini 기반 AI 에이전트 개발 01. 소개
Vertex Gemini 기반 AI 에이전트 개발-소개
Archive Posts
Tags
database
mysql
sql
SQL tutorial with MySQL
Copyrights © -
Joinc
, All Rights Reserved.
Inherited From -
Yundream
Rebranded By -
Joonphil
Recent Posts
Archive Posts
Tags