본문 바로가기

DB

Oracle 프로그래머스 SELECT 문제

반응형

 

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

 

동물 보호소에 들어온 모든 동물의 정보를 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요. SQL을 실행하면 다음과 같이 출력되어야 합니다.

 

모든레코드 조회하기

SELECT * FROM ANIMAL_INS

 

 

역순 정렬하기

SELECT NAME , DATETIME FROM ANIMAL_INS ORDER BY 
    ANIMAL_ID DESC
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

 

아픈 동물 찾기

SELECT ANIMAL_ID,NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION ='Sick'
A362707 Girly Girl
A367012 Miller
A381217 Cherokee
A387965 Dakota
A388360 Spider
A410330 Chewy

 

 

어린 동물 찾기

SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION != 'Aged'

 

A349996 Sugar
A350276 Jewel
A350375 Meo
A352555 Harley
A352713 Gia
A353259 Bj
A354540 Tux

 

 

동물의 아이디와 이름

SELECT ANIMAL_ID,NAME
FROM ANIMAL_INS
ORDER BY 
ANIMAL_ID ASC
A349996 Sugar
A350276 Jewel
A350375 Meo
A352555 Harley
A352713 Gia
A352872 Peanutbutter
A353259 Bj
A354540 Tux

 

 

여러 기준으로 정렬하기

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

 

A350276 Jewel 2017-08-13 13:50:00
A396810 Raven 2016-08-22 16:13:00
A410668 Raven 2015-11-19 13:41:00
A349996 Sugar 2018-01-22 14:32:00

 

 

상위 n개 레코드

SELECT NAME
FROM (SELECT * FROM ANIMAL_INS ORDER BY DATETIME )
WHERE ROWNUM = 1;
Jack

 

 

 

반응형

'DB' 카테고리의 다른 글

Oracle 프로그래머스 SUM, MAX, MIN  (0) 2021.01.24
Oracle PL/SQL 동적 SQL  (0) 2021.01.11
Oracle PL/SQL 테이블 함수  (0) 2021.01.10
Oracle PL/SQL 프로시저[ForAll]  (0) 2021.01.07
Oracle PL/SQL REF 커서 [ 바인드변수 사용]  (0) 2021.01.06