MySQL, grouping, aggregate function, ordering
![post-thumbnail](https://velog.velcdn.com/images/paikpaik/post/c48160b9-1915-41cf-85ba-3af630dcc22c/image.png)
ORDER BY
ORDER BY
ORDER BY 예제
- 임직원들의 정보를 연봉 순서대로 정렬해서 알고 싶다.
- 오름차순 정렬
![](https://velog.velcdn.com/images/paikpaik/post/0f3ecb27-508e-4bb1-8d3c-a859d2f8b63b/image.png)
- 내림차순 정렬
![](https://velog.velcdn.com/images/paikpaik/post/cebf405e-09f7-4ed4-b5f5-2a100b813618/image.png)
- 부서별로 묶어서 연봉을 내림차순으로 정렬
![](https://velog.velcdn.com/images/paikpaik/post/5df77e7b-a73e-46e0-8273-76b36b211590/image.png)
aggregate function
aggregate function
aggregate function 예제 1
- 임직원 수를 알고 싶다.
- 전체 tuples 조회(null 포함) * 이용
![](https://velog.velcdn.com/images/paikpaik/post/30951470-85c6-4387-b9f9-6bef3f467d68/image.png)
- 해당 attribute 조회(null은 포함하지 않음)
![](https://velog.velcdn.com/images/paikpaik/post/41dfe16f-5523-4290-81bc-1c85abd025ec/image.png)
aggregate function 예제 2
- 프로젝트 2002에 참여한 임직원 수, 최대 연봉과 최소 연봉, 평균 연봉을 알고 싶다.
![](https://velog.velcdn.com/images/paikpaik/post/0fe8c3c2-dc12-46bd-a41b-2089e8aa9eb9/image.png)
GROUP BY
GROUP BY
GROUP BY 예제
- 각 프로젝트에 참여한 임직원 수, 최대 연봉과 최소 연봉, 평균 연봉을 알고 싶다.
![](https://velog.velcdn.com/images/paikpaik/post/b6937b51-dd42-4ae4-a2ce-9c4ef480ecef/image.png)
HAVING
HAVING
HAVING 예제
- 프로젝트 참여 인원이 7명 이상인 프로젝트들에 대해서 각 프로젝트에 참여한 임직원 수, 최대 연봉과 최소 연봉, 평균 연봉을 알고 싶다.
![](https://velog.velcdn.com/images/paikpaik/post/b8060952-bdd9-47a6-a60f-0178b9422c9a/image.png)
종합 예제
예제 1
- 각 부서별 인원수를 인원 수가 많은 순서대로 정렬해서 알고 싶다.
![](https://velog.velcdn.com/images/paikpaik/post/ac9d9de8-d3c4-4953-90c8-9408acd1f3af/image.png)
예제 2
- 각 부서별 - 성별 인원수를 인원 수가 많은 순서대로 정렬해서 알고 싶다.
![](https://velog.velcdn.com/images/paikpaik/post/15ceee5a-58e8-414c-8ac3-0a5a4b2f1993/image.png)
예제 3
- 회사 전체 평균 연봉보다 평균 연봉이 적은 부서들의 평균 연봉을 알고 싶다.
![](https://velog.velcdn.com/images/paikpaik/post/8d801082-a3c1-4ee0-8907-815d0b0befe3/image.png)
예제 4
- 각 프로젝트별로 프로젝트에 참여한 90년대생들의 수와 이들의 평균 연봉을 알고 싶다.
![](https://velog.velcdn.com/images/paikpaik/post/ee63f61c-9c3c-4bba-9533-2a392e5baf34/image.png)
- proj_id별로 정리를 하고 싶다면!?? ORDER BY만 넣어주면 된다.
![](https://velog.velcdn.com/images/paikpaik/post/a88b37a3-8921-4a02-8ddf-ffda821cd25b/image.png)
예제 5
- 프로젝트 참여 인원이 7명 이상인 프로젝트에 한정해서, 각 프로젝트별로 프로젝트에 참여한 90년대생들의 수와 이들의 평균 연봉을 알고 싶다.
![](https://velog.velcdn.com/images/paikpaik/post/f3fa9304-d621-4cdc-9576-927e9d40113f/image.png)
select로 조회하기 요약
SELECT
SELECT 실행 순서
![](https://velog.velcdn.com/images/paikpaik/post/214a7d9e-3fb2-4f7c-b27e-a2729e0467e6/image.png)
- select 쿼리에서 각 절(phrase)의 실행 순서는 개념적인 순서이다.
- select 쿼리의 실제 실행 순서는 각 RDBMS에서 어떻게 구현했는지에 따라 다른다.
출처 : 쉬운코드
항상 좋은 글 감사합니다.