JOIN 사용법 참고하기
https://yoo-hyeok.tistory.com/98
문제 설명
문제
풀이 과정
각 테이블에서 필요한 정보(PRICE, 를 합쳐 주어야 한다. 이를 위해 INNER JOIN 함수를 사용해주었다.
SELECT P.PRODUCT_CODE,
SUM(P.PRICE*O.SALES_AMOUNT) AS SALES
FROM PRODUCT AS P
INNER JOIN OFFLINE_SALE AS O ON P.PRODUCT_ID = O.PRODUCT_ID
GROUP BY P.PRODUCT_CODE
ORDER BY SALES DESC, P.PRODUCT_CODE ASC
2. DATEDIFF 함수
두 날짜 사이의 차이를 반환하는 함수이다.
<2> DATEDIFF 함수
DATEDIFF 함수는 문자 그대로 두 날짜 간의 차이를 DATE(일)로 가지고 오는 역할을 합니다.
사용법은 아래와 같이 간단합니다. 사용자가 원하는 두 날짜를 인수로 넣어주면 되겠습니다.
DATEDIFF(날짜1, 날짜2)
내부의 계산은 날짜 1 - 날짜 2로 진행되므로, 순서에 유의
참고로 날짜 1보다 날짜 2가 더 나중 시간이면, -가 붙은 상태로 출력됨
[1] 사용 형태
SELECT DATEDIFF("2021-07-09 00:00:00", "1991-07-29 14:00:00");
SELECT DATEDIFF("2021-07-09", "1991-07-29");
결과는 모두 아래와 같이 동일하게 10938 이 나오게 됩니다. 10938을 '일'을 의미합니다.
예시
오랜 기간 보호한 동물(2)
SELECT I.ANIMAL_ID,
I.NAME
FROM ANIMAL_INS AS I
INNER JOIN ANIMAL_OUTS AS O ON I.ANIMAL_ID=O.ANIMAL_ID
ORDER BY DATEDIFF(I.DATETIME, O.DATETIME) DESC
LIMIT 2;
두 테이블을 합쳐서 동물이 보호소에 들어온 시각과 입양을 간 시각을 알아내야 한다.
따라서 두 테이블에 공통으로 들어와 있는 ANIMAL_ID로 연결 시켜 준다.
datediff 함수를 사용하여 날짜의 차이를 출력한다.