본문 바로가기
그냥 사는 이야기

[Oracle] GROUP BY ,Having 이해를 위한 SQL 연습 문제

by 결국 그렇고 그런이야기 2021. 10. 17.
반응형

사실 Group by 까지는 많이 쓰지만 그 Group by를

다시 조건을 거는 Having 절은 실무에서 거의 사용해 본적이 없지만

이론을 배우기 위해서는 이런 것도 있으니 참고하면 좋을 것 같아서 정리해본다.

 

 

SQL SELECT 문제 :

동물 보호소에 들어온 동물 이름 중 두번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요.

 

Table : ANIMAL_INS 

 

실행 결과

 


정답 :

count() 함수는 집계함수라 group by 절과 사용이 가능하고

where 절안에서 Count() 함수를 사용할 수는 없어서 Having절로 조회하도록 유도한 문제.

약간은 학문을 위한 쿼리랄까?

 

   SELECT NAME, COUNT(NAME) AS COUNT
     FROM ANIMAL_INS
    WHERE NAME IS NOT NULL
 GROUP BY NAME
   HAVING COUNT(NAME) > 1
 ORDER BY NAME;

 

반응형

댓글