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 EXISTS 연산자
Recommanded
Free
YOUTUBE Lecture:
<% selectedImage[1] %>
yundream
2023-01-01
2022-12-22
1953
모든 쿼리는 연습용 데이터베이스를 통해서 실행해 볼 수 있다. [MySQL & SQL 스터디 준비](https://www.joinc.co.kr/w/mysql_study_ready) 를 참고하여 실습환경을 구축할 수 있다. ## MySQL EXISTS Operator EXISTS 연산자는 sub query가 하나 이상의 행을 반환하면 true를 반환하고, 행을 반환하지 않으면 false를 반환하는 bool 연산자다. 주로 SELECT, INSERT, UPDATE, DELETE 문의 WHERE 절과 함께 사용되며 다른 테이블에 관련 레코드의 존재를 기반으로 필터링 한다. ### Having syntax ```sql SELECT column_name(s) FROM table_name WHERE EXISTS (SELECT column_name FROM table_name WHERE condition); ``` 아래 이해를 돕기 위한 간단한 예제가 있다. ```sql SELECT * FROM customers WHERE EXISTS(SELECT 1 FROM orders WHERE customers.customer_id = orders.customer_id) ``` customers 에는 고객 정보가 있으며, orders에는 고객의 주문정보가 있다. 이 쿼리는 한번이라도 주문한 고객의 정보를 모두 출력한다. 마케팅 부서에서 고객 가입은 했으나 아직 주문을 하지 않은 고객을 대상으로 프로모션을 진행할 계획이다. 그래서 주문이 없는 모든 고객의 정보를 요청했다. 이 경우 EXISTS 대신에 NOT EXISTS 를 사용하면 된다. ```sql SELECT * FROM customers WHERE NOT EXISTS(SELECT 1 FROM orders WHERE customers.customer_id = orders.customer_id) ``` ### Example Suppliers 테이블은 상품 제공자 정보를 담고 있다. | SupplierID | CompanyName | City | Country | Phone | |------------|----------------------------------------|---------------|-------------|-----------------| | 1 | Exotic Liquids | London | UK | (171) 555-2222 | | 2 | New Orleans Cajun Delights | New Orleans | USA | (100) 555-4822 | | 3 | Grandma Kelly's Homestead | Ann Arbor | USA | (313) 555-5735 | | 4 | Tokyo Traders | Tokyo | Japan | (03) 3555-5011 | | 5 | Cooperativa de Quesos 'Las Cabras' | Oviedo | Spain | (98) 598 76 54 | | 6 | Mayumi's | Osaka | Japan | (06) 431-7877 | | 7 | Pavlova, Ltd. | Melbourne | Australia | (03) 444-2343 | Products 테이블은 상품 정보를 담고 있다. | ProductID | ProductName | SupplierID | UnitPrice | |-----------|-----------------------------------|------------|-----------| | 1 | Chai | 1 | 18.0000 | | 2 | Chang | 1 | 19.0000 | | 3 | Aniseed Syrup | 1 | 10.0000 | | 4 | Chef Anton's Cajun Seasoning | 2 | 22.0000 | | 5 | Chef Anton's Gumbo Mix | 2 | 21.3500 | | 6 | Grandma's Boysenberry Spread | 3 | 25.0000 | | 7 | Uncle Bob's Organic Dried Pears | 3 | 30.0000 | | 8 | Northwoods Cranberry Sauce | 3 | 40.0000 | 공급가(UnitPrice)가 20 이하인 제품을 제공하는 모든 제공자의 목록을 출력해보자. ```sql SELECT CompanyName, City, Country FROM suppliers WHERE EXISTS (SELECT ProductName FROM products WHERE products.SupplierID = suppliers.supplierID AND UnitPrice < 20); ``` | CompanyName | City | Country | |-------------------------------------|--------------|-------------| | Exotic Liquids | London | UK | | New Orleans Cajun Delights | New Orleans | USA | | Tokyo Traders | Tokyo | Japan | | Mayumi's | Osaka | Japan | | Pavlova, Ltd. | Melbourne | Australia | | Specialty Biscuits, Ltd. | Manchester | UK | | PB Knäckebröd AB | Göteborg | Sweden | | Refrescos Americanas LTDA | São Paulo | Brazil | | Heli Süßwaren GmbH & Co. KG | Berlin | Germany |
Recent Posts
GitLab을 이용한 CICD Pipeline 구축 - GitLab 설치
[샘플코드] 입문자를 위한 Docker and Dockerizing
AWS 가격 옵션 정책 소개
Minikube와 함께하는 Kubernetes Study - NameSpace
AWS Support Plan의 이해
AWS Certified Solutions Architect 문제 - 1 일차
Amazon S3 Glacier Deep Archive
SRE의 개념과 DevOps와의 차이
지식근로자의 생산성
20년 소프트웨어 엔지니어를 하면서 배운 것들
Archive Posts
2023 (53)
1Q (34)
2Q (14)
3Q (5)
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