DISTINCT
column1 에 있는 값들을 중복을 모두 제거하고 보여준다.
SELECT DISTINCT column1 FROM table1;
GROUP BY, HAVING
GROUP BY 쿼리를 이용해 데이터를 집계하고, 집계된 이후의 데이터 내에서 조건 검색을 할 경우에 HAVING 을 사용한다. 반면 WHERE 는 데이터가 집계되기 이전의 데이터 내에서 조건을 필터링한다는 차이가 있다.
( 쿼리 연산은 FROM - WHERE - GROUP BY - HAVING - SELECT - DISTINCT - ORDER BY - LIMIT 순으로 처리된다. )
SELECT author
FROM book
WHERE author LIKE 'Kim%'
GROUP BY author
HAVING count(*) > 3;
WHERE 절 내에 서브쿼리를 사용한다면, GROUP BY 하지 않고도 데이터 집계함수를 사용할 수 있다.
SELECT name FROM book
WHERE price <= (
SELECT avg(price) FROM book
);
#참조
모두를 위한 PostgreSQL
'개발 > 데이터베이스' 카테고리의 다른 글
[PostgreSQL] JOIN ( INNER, LEFT, RIGHT, FULL ) (0) | 2022.04.30 |
---|---|
[PostgreSQL] UNION, INTERSECT, EXCEPT (0) | 2022.04.30 |
[PostgreSQL] 서브쿼리 연산자 (0) | 2022.04.26 |
[PostgreSQL] CASE 함수 / COALSECE 함수 / NULLIF 함수 (0) | 2022.04.11 |
[PostgreSQL] 형변환 / 비교 / 범위 연산자 (0) | 2022.04.10 |