728x90
3. 중복 제거하기
문제 동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL문을 작성. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 친다.
select count(distinct name) as count
from animal_ins
where name is not null
1) 중복되는 이름은 하나로 친다= distinct를 써라
2) is not null
null 값을 비교할 때는 is / is not 사용
나머지는 비교 연산자 ( = , != , <>) 나 IN 연산자를 사용
** 비교연산자 vs IN 연산자
비교 : 한 번에 하나의 값과만 비교
IN연산자: 여러 값 중 하나와 일치하는지 확인. OR조건을 간단하게 표현할 수 있음.
6. 동명 동물 수 구하기
문제 동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수 조회하는 SQL 문을 작성. 이때 결과는 이름이 없는 동물은 집계에서 제외, 결과는 이름 순으로 조회.
select name,
count(*) as count
from animal_ins
where name is not null
group by name
having count(*) >= 2
order by name
1) 순서 틀림
select > from > where > group by > having > order by > limit
2) 집계함수 → group by 필수
select문에서 집계함수(count, sum, avg 등)와 함께 사용되는 다른 컬럼들은 반드시 group by에 포함해야 함
3) 두 개 이상인 것을 카운트하라
having count(*) >= 2
728x90
728x90
'오답노트 > SQL_1차' 카테고리의 다른 글
DAY 14. 문제 31~50 (Lv.3) (8) | 2025.05.31 |
---|---|
DAY 13. 문제 11~30 (Lv.2) (6) | 2025.05.31 |
DAY 11. (0) | 2025.05.26 |
DAY 10. (0) | 2025.05.23 |
DAY 9. (8) | 2025.05.22 |