Q1. 천재지변으로 인해 일부 데이터가 유실되었다. 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회하는 SQL문을 작성
SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_OUTS A LEFT JOIN ANIMAL_INS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.DATETIME IS NULL
Q2. 관리자의 실수로 일부 동물의 입양일이 잘못 입력되었다. 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회 (이때 결과는 보호 시작일이 빠른 순으로 조회)
SELECT AI.ANIMAL_ID, AI.NAME FROM ANIMAL_INS AI JOIN ANIMAL_OUTS AO
ON AI.ANIMAL_ID = AO.ANIMAL_ID
WHERE AI.DATETIME > AO.DATETIME
ORDER BY AI.DATETIME;
Q3. 아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 조회 (이때 결과는 보호 시작일 순으로 조회)
SELECT AI.NAME, AI.DATETIME FROM ANIMAL_INS AI LEFT JOIN ANIMAL_OUTS AO
ON AI.ANIMAL_ID = AO.ANIMAL_ID
WHERE AO.ANIMAL_ID IS NULL
ORDER BY AI.DATETIME
LIMIT 3;
Q4. 입양을 간 동물 중, 보호 기간이 가장 길었던 동물 두 마리의 아이디와 이름을 조회 (이때 결과는 보호 기간이 긴 순으로 조회)
SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM ANIMAL_INS INS LEFT OUTER JOIN ANIMAL_OUTS OUTS
USING (ANIMAL_ID)
ORDER BY DATEDIFF(OUTS.DATETIME, INS.DATETIME) DESC
LIMIT 2;
Q5. 이 서비스에서는 공간을 둘 이상 등록한 사람을 "헤비 유저"라고 부른다. 헤비 유저가 등록한 공간의 정보를 아이디 순으로 조회
SELECT ID, NAME, HOST_ID FROM PLACES
WHERE
HOST_ID IN (SELECT HOST_ID FROM PLACES
GROUP BY HOST_ID
HAVING COUNT(HOST_ID) >= 2)
ORDER BY ID ASC;
'Algorithm > Programmers' 카테고리의 다른 글
Python - 완전탐색 (0) | 2021.08.26 |
---|---|
Python - 정렬 (0) | 2021.08.24 |
SQL - LEVEL 4 (0) | 2021.08.24 |
SQL - LEVEL 2 (0) | 2021.08.24 |
SQL - LEVEL 1 (0) | 2021.08.24 |