본문 바로가기
DB

프로그래머스 SQL 테스트 3

by _dreamgirl 2022. 6. 1.
반응형

문제 설명

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

동물 보호소에 들어온 동물 중 이름이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty인 동물의 아이디와 이름, 성별 및 중성화 여부를 조회하는 SQL 문을 작성해주세요.


-- 1. 동물의 이름이 'Lucy, Ella, Pickle, Rogan, Sabrina, Mitty' 의 이름을 가진 동물의 아이디, 이름, 성별 및 중성화 여부 조회하기
SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
WHERE NAME IN ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty')
ORDER BY ANIMAL_ID ASC
;

--  2.이름에 EL 들어가는 개 찾기
SELECT ANIMAL_ID , NAME
FROM ANIMAL_INS
WHERE NAME LIKE '%EL%' AND ANIMAL_TYPE = 'Dog'
ORDER BY NAME ASC
;

-- 3. 중성화된 동물의 여부를 O/X로 표시하기
SELECT ANIMAL_ID, NAME, IF(SEX_UPON_INTAKE LIKE '%Neutered%' OR SEX_UPON_INTAKE LIKE '%Spayed%' , 'O', 'X') AS 중성화
FROM ANIMAL_INS
ORDER BY ANIMAL_ID ASC
;

-- 4. 보호소에 있다가 입양간 동물중에서 보호기간이 길었던 동물 2개만 조회하기
SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_INS A, ANIMAL_OUTS B
WHERE A.ANIMAL_ID = B.ANIMAL_ID
ORDER BY DATEDIFF(B.DATETIME, A.DATETIME) DESC
LIMIT 2
;

--5. 동물들의 아이디와 이름 날짜를 형식에 맞게 수정하여 조회하기
SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%m-%d') AS '날짜'
FROM ANIMAL_INS
ORDER BY ANIMAL_ID ASC
;

--6. 보호소에서 나가서 중성화 수술을 한 동물들을 조회하기
SELECT A.ANIMAL_ID, A.ANIMAL_TYPE, A.NAME
FROM ANIMAL_INS A, ANIMAL_OUTS B
WHERE A.ANIMAL_ID = B.ANIMAL_ID
AND A.sex_upon_intake LIKE '%Intact%'
AND B.sex_upon_outcome != 'Intact Female' 
AND B.sex_upon_outcome != 'Intact Male'

SELECT A.ANIMAL_ID, A.ANIMAL_TYPE, A.NAME
FROM ANIMAL_INS A
RIGHT JOIN  ANIMAL_OUTS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE  A.sex_upon_intake LIKE '%Intact%'
AND B.sex_upon_outcome != 'Intact Female' 
AND B.sex_upon_outcome != 'Intact Male'

https://programmers.co.kr/learn/courses/

 

프로그래밍 강의

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

programmers.co.kr

 

반응형

'DB' 카테고리의 다른 글

오라클 쿼리문 공부(TABLE)  (0) 2023.06.02
오라클 Database Link  (0) 2023.04.07
SQL JOIN문 공부하기  (0) 2022.05.15
프로그래머스 SQL 테스트 2  (0) 2022.05.11
프로그래머스 SQL 테스트 1  (0) 2022.05.10

댓글