728x90
KDT 실무형 스프링 백엔드 엔지니어 양성과정 6기 | SQL CODEKATA
🫥 있었는데요 없었습니다
🏷 관련 주제 : JOIN DATETIME 날짜 비교

✔️ (Oracle & MySQL) Solution with JOIN & DATETIME 비교
SELECT I.ANIMAL_ID
, I.NAME
FROM ANIMAL_INS I
, ANIMAL_OUTS O
WHERE I.ANIMAL_ID = O.ANIMAL_ID
AND O.DATETIME < I.DATETIME
ORDER BY I.DATETIME ASC;
실행 결과

💥 오늘 만난 문제 & 나의 시도 💦 & 해결 방법 👍
📌 오늘 만난 문제 : 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일이 빠른 순으로 조회해야합니다.
1. 동물의 아이디로 JOIN하여 아이디, 이름, 보호 시작일, 입양일을 조회하자.
ANIMAL_INS의 DATETIME 칼럼에 별칭을 "보호 시작일"
ANIMAL_OUTS의 DATETIME칼럼에 별칭을 "입양일"이라고 주자.
- Oracle & MySQL
SELECT I.ANIMAL_ID , I.NAME , I.DATETIME "보호 시작일" , O.DATETIME "입양일" FROM ANIMAL_INS I , ANIMAL_OUTS O WHERE I.ANIMAL_ID = O.ANIMAL_ID;실행 결과

2. 입양일이 보호 시작일보다 빠른 인스턴스를 조회하자.
- Oracle & MySQL
SELECT I.ANIMAL_ID , I.NAME , I.DATETIME "보호 시작일" , O.DATETIME "입양일" FROM ANIMAL_INS I , ANIMAL_OUTS O WHERE I.ANIMAL_ID = O.ANIMAL_ID AND O.DATETIME < I.DATETIME;실행 결과

3. 위의 조회 결과에서 동물의 아이디와 이름만 조회하자.
- Oracle & MySQL
SELECT I.ANIMAL_ID , I.NAME FROM ANIMAL_INS I , ANIMAL_OUTS O WHERE I.ANIMAL_ID = O.ANIMAL_ID AND O.DATETIME < I.DATETIME;실행 결과

4. 보호 시작일을 기준으로 오름차순 정렬하자.
- Oracle & MySQL
SELECT I.ANIMAL_ID , I.NAME FROM ANIMAL_INS I , ANIMAL_OUTS O WHERE I.ANIMAL_ID = O.ANIMAL_ID AND O.DATETIME < I.DATETIME ORDER BY I.DATETIME ASC;실행 결과

💬 무엇을 새롭게 알았는지
DATETIME형의 데이터를 비교 연산자로 비교할 수 있다.
728x90