#select distinct 중복제거
일하면서 SQL을 정말 많이 쓰고 있는데, 프로그래머스에 SQL 문제집이 따로 있는지는 몰랐다. 우선 가장 기본적인 문제들을 풀어봤다.
SELECT
1. 모든 레코드 조회하기: 동물 보호소에 들어온 모든 동물의 정보를 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요.
select * from animal_ins
order by animal_id
2. 역순 정렬하기: 동물 보호소에 들어온 모든 동물의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 ANIMAL_ID 역순으로 보여주세요.
select name, datetime from animal_ins
order by animal_id desc
3. 아픈 동물 찾기: 동물 보호소에 들어온 동물 중 아픈 동물의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요.
SELECT animal_id, name from animal_ins
where intake_condition='sick'
order by animal_id
4. 어린 동물 찾기: 동물 보호소에 들어온 동물 중 젊은 동물의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요.
SELECT animal_id, name from animal_ins
where intake_condition != 'aged'
order by animal_id
5. 동물의 아이디와 이름: 동물 보호소에 들어온 모든 동물의 아이디와 이름을 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요.
SELECT animal_id, name from animal_ins
order by animal_id
6. 여러 기준으로 정렬하기: 동물 보호소에 들어온 모든 동물의 아이디와 이름, 보호 시작일을 이름 순으로 조회하는 SQL문을 작성해주세요. 단, 이름이 같은 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줘야 합니다.
SELECT animal_id, name, datetime from animal_ins
order by name, datetime desc
7. 상위 n개 레코드: 동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL 문을 작성해주세요.
SELECT name from animal_ins
order by datetime
limit 1
SUM, MAX, MIN
1. 최댓값 구하기: 동물보호소에 가장 최근에 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요.
SELECT max(datetime) from animal_ins
SELECT DATETIME from ANIMAL_INS
order by DATETIME desc
limit 1
2. 최솟값 구하기: 동물보호소에가장 먼저 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요.
SELECT min(datetime) from animal_ins
3. 동물 수 구하기: 동물 보호소에 동물이 몇 마리 들어왔는지 조회하는 SQL 문을 작성해주세요.
SELECT count(*) from animal_ins
4. 중복 제거하기: 동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다.
SELECT count(distinct name) from animal_ins
'algorithmProblems' 카테고리의 다른 글
전화번호 목록 (0) | 2021.02.19 |
---|---|
SQL 고득점 Kit-프로그래머스 IS NULL (null값 표현하는 여러 방법) (0) | 2021.01.22 |
SQL 고득점 Kit-프로그래머스 GROUP BY (0) | 2021.01.22 |
두개 뽑아서 더하기 (0) | 2021.01.18 |
두 정수의 합 (0) | 2021.01.17 |
댓글