본문 바로가기
algorithmProblems

SQL 고득점 Kit-프로그래머스 SELECT

by holaf 2021. 1. 20.
반응형

#select distinct 중복제거

 

 

코딩테스트 연습

기초부터 차근차근, 직접 코드를 작성해 보세요.

programmers.co.kr

 

일하면서 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
반응형

댓글