☑️ 내가 쓴 답(오답)
✔ 체크 할 부분
1) where절에서 subquery는 단 하나의 결과만 반환해야 함
-- 00:40
-- 동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성
-- 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다.
SELECT COUNT(NAME)
FROM ANIMAL_INS
WHERE NAME = (
SELECT NAME
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
GROUP BY NAME
)
☑️ 다른 사람의 풀이(정답)
✔ 체크 할 부분
1) DISTINCT 명령어 사용하여, 같은 NAME 값을 제거해주기 (가장 가독성 좋음)
SELECT COUNT(DISTINCT NAME)
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
2) from절에서 별칭 alias 필수 (별칭 없어서 에러)
-- ❌ 별칭이 없어서 오류 발생
SELECT COUNT(NAME)
FROM (
SELECT DISTINCT NAME
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
);
3) from절에서 별칭 alias 포함(정답)
SELECT COUNT(*)
FROM (
SELECT DISTINCT NAME
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
) AS COUNT
'Coding Test' 카테고리의 다른 글
(CodingTest) : 25일차 영어가 싫어요 (0) | 2025.04.23 |
---|---|
(CodingTest) : 25일차 대문자와 소문자 (0) | 2025.04.23 |
(SQL > COUNT Lev2) : 19일차 동물 수 구하기 (0) | 2025.04.23 |
(SQL > MIN Lev2) : 19일차 최솟값 구하기 (0) | 2025.04.23 |
(SQL > MAX Lev2) : 19일차 가격이 제일 비싼 식품의 정보 출력하기 (0) | 2025.04.23 |