join 3

[프로그래머스] 5월 식품들의 총매출 조회하기

https://school.programmers.co.kr/learn/courses/30/lessons/131117 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT A.PRODUCT_ID, A.PRODUCT_NAME, SUM(B.AMOUNT * A.PRICE) as TOTAL_SALES FROM FOOD_PRODUCT A Join FOOD_ORDER B ON A.PRODUCT_ID = B.PRODUCT_ID WHERE year(B.PRODUCE_DATE) = '2022' and month(B.PRODUCE_DATE) = '5' GROUP BY ..

Language/SQL 2022.11.11

[프로그래머스] 있었는데요 없었습니다

보호시작일 보다 입양일이 더 빠른 동물을 조회해야 하는 문제다. ANIMAL_INS의 DATETIME은 보호시작일, ANIMAL_OUTS의 DATETIME은 입양일이다. SELECT A.ANIMAL_ID as ANIMAL_ID, A.NAME as NAME FROM ANIMAL_INS A INNER JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID WHERE A.DATETIME >= B.DATETIME ORDER BY A.DATETIME; ANIMAL_ID가 같은 것을 기준으로 ANIMAL_INS와 ANIMAL_OUTS 테이블 INNER JOIN 한 후, A.DATETIME (ANIMAL_INS의 DATETIME -> 보호 시작일)보다 B.DATETIME(입양일)이 더 ..

Language/SQL 2022.07.05

[프로그래머스] 없어진 기록 찾기

SELECT ANIMAL_ID, NAME FROM ANIMAL_OUTS where ANIMAL_ID not in (select ANIMAL_ID from ANIMAL_INS); 위 코드는 내 생각대로 작성한 코드이다. ANIMAL_OUTS 테이블에는 값이 있고 ANIMAL_IN 테이블에는 값이 없어야 하므로 차집합을 생각했다. 검색해보니, mysql에는 차집합 연산이 없어 서브쿼리로 진행해야 한다고 한다. 위 코드는, ANIMAL_OUTS의 ANIMAL_ID 중 ANIMAL_INS의 ANIMAL_ID와 겹치지 않는 (없는) 값들을 조회하도록 했다. [실행결과] 다음은, 구글링 후 JOIN 연산자를 사용하여 문제를 해결한 코드다. INNER JOIN과 LEFT OUTER JOIN이 많이 쓰인다고 한다. S..

Language/SQL 2022.07.05