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 Having Clause
Recommanded
Free
YOUTUBE Lecture:
<% selectedImage[1] %>
yundream
2023-01-01
2022-12-25
653
모든 쿼리는 연습용 데이터베이스를 통해서 실행해 볼 수 있다. [MySQL & SQL 스터디 준비](https://www.joinc.co.kr/w/mysql_study_ready) 를 참고하여 실습환경을 구축할 수 있다. ## MySQL Having 절 Having 절은 보통 group by절과 함께 사용한다. groub by 에서 나온 결과에 다시 조건을 줘서 결과를 뽑을 때 사용한다. MySQL에서 조건은 WHERE 절을 사용하지만, group by 뒤에 where 절이 올 수 없으므로 대신 Having 절을 만들었다. group by를 위한 where 절이라고 생각하면 쓰임새를 쉽게 이해할 수 있다. ### Having syntax ```sql SELECT column_name(s) FROM table_name WHERE condition GROUP BY column_name(s) HAVING condition ORDER BY column_name(s); ``` 이 구문에서 **HAVING** 절에 조건을 지정하면 된다. ### Example Northwind 데이터베이스의 customers 테이블에는 아래와 같은 고객 정보가 저장되어 있다. ```sql SELECT CustomerID, CompanyName, ContactName, City, PostalCode, Country FROM customers; ``` | CustomerID | CompanyName | ContactName | City | PostalCode | Country | | ---------- | ------------------------------------ | ----------------------- | --------------- | ---------- | ----------- | | ALFKI | Alfreds Futterkiste | Maria Anders | Berlin | 12209 | Germany | | ANATR | Ana Trujillo Emparedados y helados | Ana Trujillo | México D.F. | 05021 | Mexico | | ANTON | Antonio Moreno Taquería | Antonio Moreno | México D.F. | 05023 | Mexico | | AROUT | Around the Horn | Thomas Hardy | London | WA1 1DP | UK | | BERGS | Berglunds snabbköp | Christina Berglund | Luleå | S-958 22 | Sweden | | BLAUS | Blauer See Delikatessen | Hanna Moos | Mannheim | 68306 | Germany | | BLONP | Blondel père et fils | Frédérique Citeaux | Strasbourg | 67000 | France | | BOLID | Bólido Comidas preparadas | Martín Sommer | Madrid | 28023 | Spain | | BONAP | Bon app' | Laurence Lebihan | Marseille | 13008 | France | 마케팅 담당자는 각 국가별 고객 수를 요청했다. ```sql SELECT COUNT(CustomerID), Country FROM customers GROUP BY Country; ``` | COUNT(CustomerID) | Country | | -------------- | ----------- | | 11 | Germany | | 5 | Mexico | | 7 | UK | | 2 | Sweden | | 11 | France | | 5 | Spain | | 3 | Canada | | 3 | Argentina | 해당 데이터를 본 마케팅 담당자는 고객 수가 5명 이상인 나라를 고객수로 내림차순으로 뽑아달라고 요청해서 쿼리를 수정했다. ```sql SELECT COUNT(CustomerID), Country FROM customers GROUP BY Country HAVING COUNT(CustomerID) > 5 ORDER BY COUNT(CustomerID) DESC; ``` | COUNT(CustomerID) | Country | |-------------------|---------| | 13 | USA | | 11 | Germany | | 11 | France | | 9 | Brazil | | 7 | UK | 인사팀은 주문 처리수를 기준으로 인사 평가를 할 계획을 수립했다. 그래서 DBA에게 10 개 이상의 주문을 등록한 직원을 알려달라고 요청했다. ```sql SELECT employees.LastName, COUNT(orders.OrderID) AS NumberOfOrders FROM (orders INNER JOIN employees ON orders.EmployeeID = employees.employeeID) GROUP BY LastName HAVING COUNT(orders.OrderID) > 10; ``` | LastName | NumberOfOrders | |-----------|----------------| | Davolio | 123 | | Fuller | 96 | | Leverling | 127 | | Peacock | 156 | | Buchanan | 42 | | Suyama | 67 | | King | 72 | | Callahan | 104 | | Dodsworth | 43 |
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