logo

SQL의 Have 절과 Where 절

SQL에서 have 절과 where 절의 차이점은 where 절이 다음을 수행할 수 있다는 것입니다. 그렇지 집계와 함께 사용할 수 있지만, had 절은 가능합니다.

그만큼 어디 절은 집계된 데이터가 아닌 행의 데이터에 대해 작동합니다. 아래 표 '마크'를 고려해 보겠습니다.



학생 과목 점수

c1 40

c2 50



b c3 60

d c1 70

전자 c2 80



쿼리를 고려해보세요

SELECT>Student, Score FROM Marks WHERE Score>=40>>

이렇게 하면 행 단위로 데이터가 선택됩니다.

그만큼 절은 집계된 데이터에 대해 작동합니다.

예를 들어 아래 쿼리의 출력은 다음과 같습니다.

SELECT>Student,>SUM>(score) AS>>total>FROM>Marks> GROUP BY>Student>

학생 합계

90

b 60

일 70

그리고 80

위의 쿼리를 적용하면 다음을 얻습니다.

SELECT>Student,>SUM>(score) AS>>total>FROM>Marks> GROUP BY>Student>

HAVING>total>70>

학생 합계

90

그리고 80

참고: 사전 정의된 규칙은 아니지만 상당수의 SQL 쿼리에서는 GROUP BY 이전에 WHERE를 사용하고 GROUP BY 이후에 HAVING을 사용합니다. Where 절은 다음과 같은 역할을 합니다. 사전 필터 어디에서 포스트 필터.