나만 알 수 없어서 만든 블로그
GROUP BY / HAVING 절 본문
소중한 강좌다...
GROUP BY와 HAVING절
GROUP BY절 - GROUP BY 절은 데이터들을 원하는 그룹으로 나눌 수 있다. - 나누고자 하는 그룹의 컬럼명을 SELECT절과 GROUP BY절 뒤에 추가..
www.gurubee.net
그러나 이 둘의 차이점을 아직도 모르겠다면?
[MY_SQL] where절과 having절의 차이
SQL구문을 처음 공부하던 당시, where절과 having절의 차이를 잘 몰랐는데요. 왜냐하면 두 구절이 비슷한 성격의 '조건절'이었기 때문이었죠. 그렇다면 where절과 having절이 어떤 차이가 있는지 살펴보
delirussum.tistory.com
1. WHERE
select * from 테이블명 where 조건절
항상 from뒤에 위치하고 조건에는 다양한 비교연산자들이 사용되어 구체적인 조건을 줄 수 있습니다.
2. HAVING
select * from 테이블명 group by 필드명 having 조건절
항상 group by뒤에 위치하고 where 조건절과 마찬가지로 조건에는 다양한 비교연산자들이 사용되어 구체적인 조건을 줄 수 있습니다.
where은 기본적인 조건절로서 우선적으로 모든 필드를 조건에 둘 수 있습니다.
하지만 having은 group by 된 이후 특정한 필드로 그룹화 되어진 새로운 테이블에 조건을 줄 수 있습니다.
예를 들어
1)mysql> select name, count(*) as cnt from where name='홍길동' 테이블 group by name;
2)mysql> select name, count(*) as cnt from 테이블 group by name;
1)의 경우는 where 조건절에 맞는 정보를 우선적으로 들고와서 group by로 그룹화 하고
2)의 경우는 group by로 그룹화 한 상태에서 having 조건절에 맞는 정보를 들고옵니다. 이때 having 조건절에 이용할 컬럼은 select 뒤에 반드시 명시 되어져야 합니다.
출처: https://delirussum.tistory.com/141 [jihoon Docs]