본문 바로가기
오답노트/SQL_1차

DAY 12. 문제 1~10 (Lv.1)

by 쿙이콩 2025. 5. 31.
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