알고리즘
[프로그래머스] SQL 고득점 키트
슈뢰딩거의 고등어
2022. 2. 4. 14:29
SQL 기입 순서
select >> from >> where >> group by >> having >> order by >> limit
중복제거
select count(distinct name) from animal_ins where name != 'NULL';
case 사용법
select animal_type,
case
when name is not null
then name
else
'No name'
end as name,
sex_upon_intake
from animal_ins;
date_format()
select animal_id, name, date_format(datetime, '%Y-%m-%d') from animal_ins;
having
select name, count(name) from animal_ins
group by name
having count(name) >= 2
order by name;
JOIN 을 사용할 때 주의할 점
1. 처음에 left join 을 사용했으면 모든 조인들은 left join 을 사용한다.
2. left join 은 조인 순서가 결과에 영향을 미친다. 따라서, 결과로 필요한 컬럼의 갯수가 많은 순서대로 조인을 해준다.