
SQL 공부중 입니다. ✍✍✍
문제
https://school.programmers.co.kr/learn/courses/30/lessons/59408
풀이
SELECT COUNT(DISTINCT NAME) 'count'
FROM ANIMAL_INS
WHERE NAME IS NOT NULL;
NULL 값을 제외한 NAME들의 고유값 갯수를 구하는 문제였습니다. WHERE 구문을 통해 NULL 값을 갖는 행을 먼저 제외하고 COUNT(DISTINCT()) 함수를 활용하여 고유값의 갯수를 구할 수 있었습니다.🐶🐶🐶
이외에 아래 코드와 같이 서브쿼리를 활용한 풀이를 볼 수 있었습니다.🦄🦄🦄
SELECT COUNT(AI.NAME)
FROM (SELECT NAME FROM ANIMAL_INS GROUP BY NAME) AS AI
먼저 NAME으로 GROUP BY 하여 NULL을 제외한 중복되지 않은 고유 이름을 가진 테이블을 지칭하는 서브쿼리를 만든 다음 갯수를 세는 방식이였습니다.
감사합니다.👑👑👑
🍀