sql

프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr GROUP BY, DISTINCT를 잘 활용해야 하는 문제. WITH REAL_USER_INFO AS ( SELECT COUNT(*) AS CNT FROM USER_INFO WHERE JOINED LIKE "2021%"),REAL_ONLINE_SALE AS ( SELECT YEAR(SALES_DATE) AS YEAR, MONTH(SALES_DATE) AS MONTH, COUNT(DISTINCT USER_ID) AS CNT FROM ONLINE_SALE WHERE USER_ID IN..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 비트 연산을 사용해서 풀면 되는 문제그리고 Front End 스킬을 여러 개 가진 개발자가 있는 경우 동일한 ID가 여러개 출력될 수 있으므로 DISTINCT를 통해 한 ID는 한 번만 조회되도록 한다. 풀이 코드 WITH FRONTEND_SKILLCODES AS ( SELECT CODE FROM SKILLCODES WHERE CATEGORY = "Front End")SELECT DISTINCT ID, EMAIL, FIRST_NAME, LAST_NAMEFROM DEVELOPERS, FRONTEND..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 서브 쿼리와 NOT IN을 활용해서 푸는 문제.까다로웠던 점은 2022-11-01 ~ 2011-11-30까지 대여 가능한 자동차를 구분해내는 작업이었다. SELECT CAR_ID FROM SELECTED_CAR JOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY USING(CAR_ID) WHERE (START_DATE = '2022-11-01') OR (START_DATE >= '2022-11-01') GROUP BY CAR_ID 이 쿼리를 통해 대여 시작 날..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr WITH 절을 이용해 서브쿼리를 2개 만든 후 풀었다. 1. 트럭의 대여 기간 타입과 해당하는 할인율을 갖고 있는 테이블 TRUCK_DISCOUNT_PLAN2. 트럭 대여기록 ID, 트럭 대여 기간 타입, 일일 요금, 빌린 날 수를 갖고 있는 테이블 TRUCK_RENTAL_HISTORY TRUCK_RENTAL_HISTORY와 TRUCK_DISCOUNT_PLAN을 트럭 대여 기간 타입으로 LEFT OUTER JOIN한다. (트럭 대여기간 타입이 NULL인 경우에는 할인이 안 들어가게 하려고) 주의 해야 할 점은, ..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 재귀 쿼리를 사용해서 3세대 대장균의 ID를 조회하면 되는 문제다.전에 공부했던 재귀 쿼리 사용법을 통해 풀 수 있었다. 풀이 코드# 재귀WITH RECURSIVE RC AS ( # 초기 조건 SELECT ID, PARENT_ID, 1 AS GEN FROM ECOLI_DATA WHERE PARENT_ID IS NULL UNION ALL # 재귀 SELECT ECOLI_DATA.ID, ECOLI_DATA.PARENT_ID, RC.GEN + 1 FROM RC JOIN ECO..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 아무리 생각해도 기존 테이블에 없는 0 ~ 23시를 어떻게 만들어되야할 지 몰라서 실눈 뜨고 풀이 보기 방법으로 풀이를 참고해 풀었다. WITH RECURSIVE RC AS ( SELECT 0 AS HOUR UNION ALL SELECT HOUR + 1 FROM RC WHERE HOUR   WITH 문을 통해 테이블을 새로 만드는데, RECURSIVE를 통해 재귀를 사용해서 만든다.위 RC 테이블은 HOUR 컬럼에 0~23까지 저장되어 있는 테이블이다. 참고 링크  [MYSQL] 📚 ..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr GROUP BY와 DISTINCT를 사용해서 푸는 문제.문제를 보자마자 어떻게 쿼리를 작성해야 할지 바로 떠오르지 않았고, 생각할 시간이 필요했던 문제였어서 포스팅한다. SELECT CART_IDFROM CART_PRODUCTSWHERE NAME = 'Milk' or NAME = 'Yogurt'GROUP BY CART_IDHAVING COUNT(DISTINCT(NAME)) >= 2ORDER BY 1  이 문제를 푸는데 필요한 핵심 로직은HAVING COUNT(DISTINCT(NAME)) >= 2이 부분이다. Mi..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr JOIN과 GROUP BY를 활용하면 되는 어렵지 않은 문제지만, 사소한 부분을 실수해서 다시 이런 실수를 하지 않기 위해 글을 작성한다.  처음에 이런 코드를 작성했다.SELECT YEAR(SALES_DATE) AS YEAR, MONTH(SALES_DATE) AS MONTH, GENDER, COUNT(USER_INFO.USER_ID) AS USERSFROM USER_INFO JOIN ONLINE_SALE ON USER_INFO.USER_ID = ONLINE_SALE.USER_IDWHERE GENDER IS NO..
· 알고리즘
코딩테스트 SQL 모음집SQL을 급하게 봐야한다구? 이것만 보면 야, 너두 SQL 할 수 있숴😎velog.io
happenundo
'sql' 태그의 글 목록