본문 바로가기
알고리즘/프로그래머스 - SQL 고득점 KIT

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

by 호롤롤로루야 2021. 10. 10.

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

1. 모든 레코드 조회하기

문제 링크

https://programmers.co.kr/learn/courses/30/lessons/59034?language=mysql 

 

코딩테스트 연습 - 모든 레코드 조회하기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

문제 조건

1. 동물 보호소에 들어온 모든 동물의 정보를 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요. 

쿼리

SELECT * FROM ANIMAL_INS 
ORDER BY ANIMAL_ID;

풀이

1. 문제의 조건에서 ANIMAL_ID 순으로 조회하라는 조건이 있으므로 ORDER_BY 를 사용한다.

 

2. 역순 정렬하기

문제 링크

https://programmers.co.kr/learn/courses/30/lessons/59035

 

코딩테스트 연습 - 역순 정렬하기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

문제 조건

1. 동물 보호소에 들어온 모든 동물의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요.

2. 이때 결과는 ANIMAL_ID 역순으로 보여주세요.

쿼리

SELECT NAME, DATETIME FROM ANIMAL_INS 
ORDER BY ANIMAL_ID DESC;

풀이

1. 문제의 조건에서 ANIMAL_ID 순으로 조회하라는 조건이 있으므로 ORDER_BY 를 사용한다.

2. 이 때, ORDER BY 는 기본적으로 오름차순으로 정렬된다.

3. 따라서 역순의 조건을 만족하기 위해 DESC를 쓴다. (DESC 내림 차순)

3. 아픈 동물 찾기

문제 링크

https://programmers.co.kr/learn/courses/30/lessons/59036

 

코딩테스트 연습 - 아픈 동물 찾기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

문제 조건

1. 동물 보호소에 들어온 동물 중 아픈 동물의 아이디와 이름을 조회하는 SQL 문을 작성해주세요.

2. 이때 결과는 아이디 순으로 조회해주세요.

쿼리

SELECT ANIMAL_ID, NAME FROM ANIMAL_INS 
WHERE INTAKE_CONDITION = 'Sick' 
ORDER BY ANIMAL_ID;

풀이

1. 아픈 동물을 찾기 위해 WHERE 를 사용하여 INTAKE_CONDITION = 'Sick' 을 추가한다.

2. 문제의 조건에서 ANIMAL_ID 순으로 조회하라는 조건이 있으므로 ORDER_BY 를 사용한다.

4. 어린 동물 찾기

문제 링크

https://programmers.co.kr/learn/courses/30/lessons/59037

 

코딩테스트 연습 - 어린 동물 찾기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

문제 조건

1. 동물 보호소에 들어온 동물 중 젊은 동물의 아이디와 이름을 조회하는 SQL 문을 작성해주세요.

2.이때 결과는 아이디 순으로 조회해주세요.

쿼리

SELECT ANIMAL_ID, NAME FROM ANIMAL_INS 
WHERE INTAKE_CONDITION != "Aged" 
ORDER BY ANIMAL_ID;

풀이

1. 아픈 동물을 찾기 위해 WHERE 를 사용하여 INTAKE_CONDITION = 'Sick' 을 추가한다.

2. 문제의 조건에서 ANIMAL_ID 순으로 조회하라는 조건이 있으므로 ORDER_BY 를 사용한다.

 

5. 동물의 아이디와 이름

문제 링크

https://programmers.co.kr/learn/courses/30/lessons/59403

 

코딩테스트 연습 - 동물의 아이디와 이름

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

문제 조건

1. 동물 보호소에 들어온 모든 동물의 아이디와 이름을 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요.

쿼리

SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
ORDER BY ANIMAL_ID;

풀이

1. 문제의 조건에서 ANIMAL_ID 순으로 조회하라는 조건이 있으므로 ORDER_BY 를 사용한다.

 

 

 

6. 여러 기준으로 정렬하기

문제 링크

https://programmers.co.kr/learn/courses/30/lessons/59404

 

코딩테스트 연습 - 여러 기준으로 정렬하기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

문제 조건

1. 동물 보호소에 들어온 모든 동물의 아이디와 이름, 보호 시작일을 이름 순으로 조회하는 SQL문을 작성해주세요.

2. 단, 이름이 같은 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줘야 합니다.

쿼리

SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS 
ORDER BY NAME, DATETIME DESC;

풀이

1. 문제의 조건에서 ANIMAL_ID 순으로 조회하라는 조건이 있으므로 ORDER_BY 를 사용한다.

2. 이 때 보호를 나중에 시작한 동물을 보여주기 위해 DATETIME DESC 를 사용했다.

3. ORDER BY 는 왼쪽 조건부터 적용 된다.

7. 상위 n개 레코드

문제 링크

https://programmers.co.kr/learn/courses/30/lessons/59405

 

코딩테스트 연습 - 상위 n개 레코드

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

문제 조건

1. 동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL 문을 작성해주세요.

쿼리

SELECT NAME FROM ANIMAL_INS 
ORDER BY DATETIME 
LIMIT 1;

풀이

1. 가장 먼저 들어온 동물 (1마리)를 찾기 위해 DATETIME으로 정렬 후, LIMIT 1 을 사용했다

 

댓글