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>
|
학생 합계
90
그리고 80
참고: 사전 정의된 규칙은 아니지만 상당수의 SQL 쿼리에서는 GROUP BY 이전에 WHERE를 사용하고 GROUP BY 이후에 HAVING을 사용합니다. Where 절은 다음과 같은 역할을 합니다. 사전 필터 어디에서 포스트 필터.