본문 바로가기

개념 공부/SQL6

[MySQL] SQL 프로그래머스 4단계 다 풀어보기 (2) 6문제자동차 대여 기록 별 대여 금액 구하기 포인트: 서브 쿼리, WITH 절, 대여 기간은 DATEDIFF + 1이라는거, CASE WHEN THEN END 문 너무 어렵다.. https://school.programmers.co.kr/learn/courses/30/lessons/151141 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr WITH DISCOUNT AS (SELECT H.HISTORY_ID AS HISTORY_ID, C.DAILY_FEE AS DAILY_FEE,DATEDIFF(H.END_DATE, H.START_DATE) + 1 AS DATEDIFF, C.CAR_TYPE AS CAR_T.. 2024. 11. 10.
[MySQL] 프로그래머스 SQL 4단계 모두 풀어보기! (1) 6문제 우유와 요거트가 담긴 장바구니분류, 포인트: IN 절https://school.programmers.co.kr/learn/courses/30/lessons/62284 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr SELECT DISTINCT CART_IDFROM CART_PRODUCTSWHERE CART_ID IN ( -- 우유 SELECT CP1.CART_ID FROM CART_PRODUCTS AS CP1 WHERE CP1.NAME = 'Milk')AND CART_ID IN ( -- 요거트 SELECT CP1.CART_ID FROM CART_PRODUCTS AS CP1 WHERE C.. 2024. 11. 9.
[MySQL] WITH, WITH RECURSIVE 구문 WITH 구문with 구문은 메모리 상에 가상의 테이블을 저장할 때 사용됩니다.RECURSIVE의 여부에 따라 재귀와 비재귀 두가지 방법으로 사용 가능합니다. WITH [RECURSIVE] TABLE명 AS ( SELECT - # 비반복문. 무조건 필수 [UNION ALL] # RECURSIVE 사용 시 필수. 다음에 이어붙어야 할 때 사용 SELECT - [WHERE -] # RECURSIVE 사용 시 필수. 정지 조건 필요할 때 사용) WITH RECURSIVE 구문WITH RECURSIVE 구문은 가상 테이블을 생성하면서 가상 테이블 자신의 값을 참조하여 값을 결정할 때 사용됩니다.WITH RECURSIVE CTE AS ( SELECT 1 AS NUM -- 초기값 설정 .. 2024. 11. 9.
[MySQL] 코딩테스트 준비를 위한 MySQL 내장함수 정리 문자열 관련 내장 함수LOCATE("A", "ABC"): "ABC"에서 "A"가 몇번째인지를 반환SUBSTRING("abc", 2): 2번째 문자부터 반환RIGHT("ABCD", 1): "ABCD" 오른쪽에서 1번째까지LEFT("ABCD, 1): "ABCD" 왼쪽에서 1번째까지UPPER(str), LOWER(str): 대문자로 변환, 소문자로 변환CONCAT("ABC", "DEF", "GHI"): 문자열 이어붙이기REPLACE("ABC", "A", "Z"): "ABC"의 "A"를 "Z"로 변환LPAD("DEF", 5, "_"): "DEF" 왼쪽에 "_"를 전체 문자열이 5글자가 되도록 붙이기  숫자형ABS(숫자): 절대값 반환CEILING(실수): 올림FLOOR(실수): 내림ROUND(실수): 반올림TR.. 2024. 11. 9.
[SQL / 프로그래머스] JOIN 문제 모음 https://school.programmers.co.kr/learn/courses/30/lessons/131117 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 우선 5월에 만들어진 상품들의 총 주문 개수를 구해야한다고 생각했습니다.해당 쿼리는 아래와 같습니다.SELECT PRODUCT_ID, SUM(AMOUNT)FROM FOOD_ORDERWHERE PRODUCE_DATE >= '2022-05-01' AND PRODUCE_DATE  그리고 저 AMOUNT의 합과 가격을 곱해주면 된다고 생각해서 JOIN을 활용해서 정답쿼리를 썼습니다. SELECT FP.PRODUCT_ID AS PRODUCT_ID, F.. 2024. 11. 7.
[SQL / 프로그래머스] 그룹별 조건에 맞는 식당 목록 출력하기 https://school.programmers.co.kr/learn/courses/30/lessons/131124 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr WHERE 절에 서브 쿼리를 써서 해결했습니다.  1. 가장 리뷰를 많이 쓴 회원 아이디 찾기REST_REVIEW 테이블에서 가장 리뷰를 많이 작성한 회원을 찾아줍니다.해당 쿼리는 아래와 같습니다. SELECT MEMBER_IDFROM REST_REVIEWGROUP BY MEMBER_IDORDER BY COUNT(*) DESC LIMIT 1;  2. 가장 리뷰를 많이 쓴 회원의 리뷰 내용 출력위에서.. 2024. 10. 18.