[JOIN] 없어진 기록 찾기 (☆) ✅ 링크: https://school.programmers.co.kr/learn/courses/30/lessons/59042✅ 주 테이블이 뭔지 집중하기 : 입양"간"기록이 있는데 입양한기록에 없는이니까 입양"간"기록에서 찾아야함SELECT ANIMAL_ID,NAMEFROM ANIMAL_OUTSWHERE ANIMAL_ID NOT IN ( SELECT ANIMAL_ID FROM ANIMAL_INS)ORDER BY ANIMAL_ID 코딩테스트/SQL 2024.09.11
[JOIN] 그룹별 조건에 맞는 식당 목록 출력하기 (☆☆) ✅ 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/131124✅ COUNT의 MAX값을 구하는 방법은 서브쿼리로 COUNT DESC 정렬 후 LIMIT 1한 ID가 같은지를 WHERE절 조건으로 작성하면 된다.SELECT M.MEMBER_NAME, R.REVIEW_TEXT, DATE_FORMAT(R.REVIEW_DATE,"%Y-%m-%d") AS REVIEW_DATEFROM MEMBER_PROFILE AS MJOIN REST_REVIEW AS R ON M.MEMBER_ID = R.MEMBER_IDWHERE M.MEMBER_ID = ( SELECT MEMBER_ID FROM REST_REVIEW GROUP BY MEMBER_.. 코딩테스트/SQL 2024.09.11
[JOIN] 조건에 맞는 도서와 저자 리스트 출력하기 (☆☆) ✅ DATE_FORMAT(B.PUBLISHED_DATE,"%Y-%m-%d") 외우기 "%Y-%m-%d" -> "2020-01-10""%y-%m-%d" -> "20-01-10""%Y-%m-%d %h:%i:%s" -> "2020-01-10 12:00:00""%Y-%m-%d %p %h:%i:%s" -> "2020-01-10 AM 12:00:00"SELECT B.BOOK_ID,A.AUTHOR_NAME,DATE_FORMAT(B.PUBLISHED_DATE,"%Y-%m-%d")FROM BOOK AS BJOIN AUTHOR AS A ON B.AUTHOR_ID = A.AUTHOR_IDWHERE B.CATEGORY = '경제'ORDER BY B.PUBLISHED_DATE 코딩테스트/SQL 2024.09.10
[JOIN] 주문량이 많은 아이스크림들 조회하기 (☆☆) ✅ JOIN 조건을 습관적으로 외래키로 했다.문제 조건이 FLAVOR에서 두 테이블을 합산해야하므로 JOIN 조건이 FLAVOR에 있어야한다.(상반기와 7월의 주문량을 합산하여 가장 인기 있는 FLAVOR을 찾는 것이 목적입니다.)✅ 7월 총 주문량이라고만 보고 SUM()을 안썼다. 7월에는 아이스크림 주문량이 많아 같은 아이스크림에 대하여 서로 다른 두 공장에서 아이스크림 가게로 출하를 진행하는 경우가 있습니다. 이 경우 같은 맛의 아이스크림이라도 다른 출하 번호를 갖게 됩니다.- SHIPMENT_ID마다의 7월 총 주문량이 아니라 FLAVOR마다의 7월 총주문량이므로GROUP BY F.FLAVOR, SUM(J.TOTAL_ORDER) 구문이 필요하다SELECT F.FLAVORFROM FIRST_HAL.. 코딩테스트/SQL 2024.09.10
[JOIN] 5월 식품들의 총매출 조회하기 (☆) ✅ 어떤 테이블 항목인지 명시하는거 잊지말기 O.AMOUNT ...✅ 총 매출 P.PRICE*SUM(O.AMOUNT)SELECT P.PRODUCT_ID,P.PRODUCT_NAME,(P.PRICE*SUM(O.AMOUNT)) AS TOTAL_SALESFROM FOOD_PRODUCT AS PJOIN FOOD_ORDER AS O ON P.PRODUCT_ID = O.PRODUCT_IDWHERE O.PRODUCE_DATE >= '2022-05-01' AND PRODUCE_DATE 코딩테스트/SQL 2024.09.10
[JOIN] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (☆☆) ✅ 2번 JOIN 하는 대신 서브쿼리로 날짜조건으로 거른 다음 DISTICT사용함 (그래서 GROUPBY CAR_ID 사용 안함-중복행 문제)서브쿼리 이점: 중간 결과 집합 최소화JOIN을 사용하면 중간 결과로 큰 테이블이 생성될 수 있지만, 서브쿼리는 필요한 데이터만 필터링하여 반환합니다.이는 메모리 사용을 줄이고 전체적인 쿼리 실행 속도를 향상시킬 수 있습니다.✅ DISTICT써서 HAVING절에 GROUPBY쓰지 않아도 됨 (일부 SQL허용 -MySQL)✅ 11월 한 달 동안 대여 가능한 차량 조건 구하기"11월 한 달 동안 대여 가능한 차량"입니다. 이를 논리적으로 표현하면 "11월 동안 대여되지 않은 차량"이 됩니다.(END_DATE '2022-11-30')이제 드모르간 법칙을 사용하면 NO.. 코딩테스트/SQL 2024.09.10