1. DISTINCT
: 테이블에서 중복되는 데이터를 없애는 명령어
- SELECT DISTINCT item_type FROM rating
2. GROUP BY
: 원하는 자료를 그룹화하는 명령어
: DISTINCTI 함수와 달리 집계함수(count()..)를 사용할 수 있고, 집계 연산 이후에 HAVING 절로 조건에 맞는 정보를 걸러낼 수 있다.
: 집계함수를 이용한다는 의미는 새로운 관계를 갖고 있는 가상의 결과를 만들어 낸다는 의미와 같다.
- SELECT item_type FROM rating GROUP BY item_type;
- SELECT item_type, count(*) FROM rating GROUP BY item_type;
3. HAVING
: 집계를 완료한 데이터에서 원하는 조건만 검색할 수 있도록 도와준다.
: WHERE 문은 집계함수 실행 전 데이터를 조회할 때, HAVING 문은 집계함수 실행 수 데이터를 조회할 때 많이 이용한다
: WHERE 문의 경우 집계함수의 실행 전 데이터를 조회하므로 HAVING 문에 비해 실행속도가 빠르다.
- SELECT item_type, count(*) FROM rating GROUP BY item_type HAVING count(*) > 3;
- SELECT item_type, count(*) FROM rating WHERE item_type LIKE 'r%' GROUP BY item_type HAVING count(*) > 3;
4. SQL 명령어 우선 순위
5. 집계함수
: 집계함수의 입력은 여러 개의 로우이고, 출력은 데이터 한 개를 의미한다.
: 집계함수를 사용하기 위해서는 group by 함수가 반드시 선행 작성되어야 한다.
6. 불리언 연산 집계함수
: 데이터 타입이 불리언일 때만 사용가능
- SELECT bool_and(is_spicy) FROM ramen;
7. 배열을 담는 집계함수
- SELECT array_agg(name) FROM canned_food;
- SELECT id,weight, array_agg(name) FROM canned_food GROUP BY 1,2 ORDER BY 1;
8. JSON 집계함수
'도서 > 모두를 위한 postgreSQL' 카테고리의 다른 글
Day13. 여러 개의 테이블을 컬럼으로 연결하기 (0) | 2023.08.13 |
---|---|
Day12. 여러 개의 테이블을 로우로 연결하기 (0) | 2023.08.10 |
Day10. 쿼리에 사용되는 연산자와 함수4 (0) | 2023.08.05 |
Day9. 쿼리에 사용되는 연산자와 함수3 (0) | 2023.06.27 |
Day8. 쿼리에 사용되는 연산자와 함수2 (0) | 2023.06.27 |