KDT 실무형 스프링 백엔드 엔지니어 양성과정 6기 | SQL 코드카타
📉 역순 정렬하기
🏷 Topic : SELECT ORDER BY DESC 조회 정렬 역순
문제 설명
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다.ANIMAL_INS 테이블 구조는 다음과 같으며,ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는
각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.
| NAME | TYPE | NULLABLE |
|---|---|---|
| ANIMAL_ID | VARCHAR(N) | FALSE |
| ANIMAL_TYPE | VARCHAR(N) | FALSE |
| DATETIME | DATETIME | FALSE |
| INTAKE_CONDITION | VARCHAR(N) | FALSE |
| NAME | VARCHAR(N) | TRUE |
| SEX_UPON_INTAKE | VARCHAR(N) | FALSE |
동물 보호소에 들어온 모든 동물의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요.
이때 결과는 ANIMAL_ID 역순으로 보여주세요.
SQL을 실행하면 다음과 같이 출력되어야 합니다.
| NAME | DATETIME |
|---|---|
| Rocky | 2016-06-07 09:17:00 |
| Shelly | 2015-01-29 15:01:00 |
| Benji | 2016-04-19 13:28:00 |
| Jackie | 2016-01-03 16:25:00 |
| *Sam | 2016-03-13 11:17:00 |
| SEX_UPON_INTAKE | VARCHAR(N) |
..이하 생략
본 문제는 Kaggle의 "Austin Animal Center Shelter Intakes and Outcomes"에서 제공하는 데이터를 사용하였으며 ODbL의 적용을 받습니다.
✔ (Oracle & MySQL) Solution with ORDER BY DESC
SELECT NAME
, DATETIME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID DESC;
실행 결과

💥 어떤 만난 문제 & 어떤 시도를 했는지💦 & 어떻게 해결했는지👍
📌 오늘 만난 문제 : 동물 보호소에 들어온 모든 동물의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요.
이때 결과는 ANIMAL_ID 역순으로 보여주세요.
1. ANIMAL_ID, 동물의 이름, 보호 시작일을 조회하자.
SELECT ANIMAL_ID
, NAME
, DATETIME
FROM ANIMAL_INS;
실행 결과
ANIMAL_ID칼럼을 보면 오름차순 정렬이 되어 있는 것을 확인할 수 있다.

ORDER BY 칼럼명 DESC`에서 역순의 철자가 헷갈렸었는데
오름차순 정렬은 ASC
내림차순 정렬은 DESC이다.
2. ANIMAL_ID칼럼으로 역순으로 정렬해서 조회하자.
SELECT ANIMAL_ID
, NAME
, DATETIME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID DESC;
실행 결과
ANIMAL_ID칼럼이 역순으로 정렬이 잘 된 것을 확인할 수 있다.

3. 위의 조회 결과에서 동물 이름과 보호 시작일만 조회되도록 SELECT절에 NAME, DATETIME칼럼만 쓰자.
SELECT NAME
, DATETIME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID DESC;
실행 결과
ANIMAL_ID칼럼이 빠지고 NAME, DATETIME칼럼만 잘 조회된 것을 확인할 수 있다..

💬 무엇을 새롭게 알았는지
SQL문
- 데이터 조회 QUERY
SELECT 속성명1, 속성명2, ... FROM 테이블명;
- 데이터 정렬해서 조회 QUERY
- 오름차순(기본)
SELECT 속성명1, 속성명2, ... FROM 테이블명 ORDER BY 속성명 ASC;
ASC 생략 가능 - 내림차순
SELECT 속성명1, 속성명2, ... FROM 테이블명 ORDER BY 속성명 DESC;
- 오름차순(기본)