- ORDER BY 로 정렬해서 select하기
- 조회 결과를 특정 attribute(s)를 기준으로 정렬할 때
- ex. order by id asc, salary desc
- ASC(default), DESC
- 조회 결과를 특정 attribute(s)를 기준으로 정렬할 때
- aggregate function으로 통계 결과 뽑기
- 여러 tuple들의 정보를 요약해서 하나의 값으로 추출하는 함수
- count, sum, min, max, avg
- null 값들은 제외하고 요약 값을 추출함
- count(*), count(id) 와 같이 사용
- 이 때 *는 튜플의 개수를 지칭
- id가 null이면 카운트에서 제외됨.
- GROUP BY로 그룹화 하기
- 관심있는 attribute(s)를 기준으로 그룹을 나눠서 그룹별로 aggregate function을 적용하고 싶을 때 사용
- grouping attribute(s): 그룹을 나누는 기준이 되는 attribute(s)
- select 절에 grouping attribute를 적어주어야함.
- groupoing attribute(s)에 null 이 있을 때, null 값끼리 그룹이 됨.
- HAVING 키워드로 그룹 필터링 하기
- grouping result에 조건(필터링)을 걸고 싶을 때 사용.
- group by와 함께 사용
- having 조건 만족하는 그룹만 결과에 포함됨.
예제1. 각 부서별 인원수를 인원 수가 많은 순서대로 정렬해서 알고 싶다.
예제2. 회사 전체 평균 연봉보다 평균 연봉이 적은 부서들의 평균 연봉을 알고 싶다.
예제3. 각 프로젝트별로 프로젝트에 참여한 90년대생들의 수와 이들의 평균 연봉을 알고 싶다.
예제3.1. 프로젝트 참여 인원이 7명 이상인 프로젝트에 한정해서 각 프로젝트별로 프로젝트에 참여한 90년대생들의 수와 이들의 평균 연봉을 알고 싶다.
select로 조회하기 순서: 1~6숫자 순서대로 개념적으로
6.SELECT attribute(s) or aggregate function(s)
1.FROM table(s)
2.[WHERE condition(s)]
3.[GROUP BY group attribute(s)
4 [HAVING group condition(s)]
]
5. [ORDER BY attribute(s)]
'컴퓨터공학 > 데이터베이스(database)' 카테고리의 다른 글
m1 mysqlworkbench ui 버그 (0) | 2024.05.20 |
---|---|
database three valued logic (0) | 2024.05.14 |
database table join (0) | 2024.05.14 |
[Query Processing]Join Operation (0) | 2020.06.07 |
[Query Processing]Sorting (0) | 2020.06.07 |