일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 약수구하기
- 파이썬
- 리트코드sql
- UNION
- 데이터분석
- join
- SQL고득점KIT
- leetcode문풀
- 코테
- 코딩테스트
- 셀프조인
- mysql
- leetcode
- 위키독스
- 파이썬문풀
- 프로그래머스문풀
- sql문풀
- GROUPBY
- 데이터리안
- 윈도우함수
- 활성사용자수
- SQL
- 문풀
- With
- levle1
- 서브쿼리
- with절
- SQL테스트
- leetcodesql50
- 프로그래머스
- Today
- Total
목록join (10)
꿈은 데이터분석가, 취미는 계획
출처: [Leetcode - 1280. Students and Examinations 문제(일부): 학생정보(학생 id, 학생이름), 과목이름, 시험정보(학생id, 학생이름) 테이블을 사용, 학생별로 응시한 과목의 시험 수 count하기JOIN 사용하기1) Students테이블과 Subjects 테이블을 조인조건 없이 JOIN, 카티션 곱으로 모든 학생에게 동일하게 과목을 모두 매칭2) LEFT JOIN으로 Examinations에 없는(=응시하지 않은 과목)도 count할 수 있게 함3) 학생이름과 과목으로 groupby하여 count, 학생별 과목별 시험 수를 cntSELECT st.Student_id, st.Student_name, su.subject_name, count(e.subject_na..
출처: [Leetcode - 1070. Product Sales Analysis III] 문제(일부): 제품별로 첫번째로 구매된 해의 정보 조회하기1. WITH 절 + INNER JOIN 1) WITH절에서 제품별 최초로 판매된 해를 추출2) 원본 테이블과 join, product_id와 year가 일치하는 조건# 제품별로 판매된 첫 해를 추출WITH first_year AS ( SELECT product_id, MIN(year) AS first_year FROM sales GROUP BY product_id)# 원본테이블과 join하여 첫해의 정보를 조회SELECT s.product_id ,s.year AS first_year ,s.quantity ..
출처: [Leetcode - SQL50] : 1934 Confirmation Rate링크: https://leetcode.com/problems/confirmation-rate/description/?envType=study-plan-v2&envId=top-sql-50문제(일부): 사용자가 받은 메세지 중 'confirmed'라고 응답한 비율 구하기1. WITH절, 서브쿼리 활용쿼리는 길어지지만 가장 먼저 생각난 단순한 방법1) user_id별로 confirm 메세지의 수 => 서브쿼리2) user_id별로 받은 메세지의 수 => 서브쿼리3) 메인 쿼리에서 user_id별로 confirm메세지의 비율 구하기(confrim / all)4) 위 내용을 WITH절로 임시 테이블 생성, signips테이블과 ..
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 자동차 대여 기록 별 대여 금액 구하기링크: https://school.programmers.co.kr/learn/courses/30/lessons/151141문제(일부): 요금테이블, 대여이력 테이블, 기간별 할인율 테이블을 사용하여 차종이 트럭인 대여기록별 대여금액 구하기1. 서브쿼리 활용1) 요금테이블과 대여이력 테이블을 JOIN2) WHERE절에서 차종이 트럭인 것으로 필터링3) 대여기간*요금*기간별할인율3-1) 기간별 할인율은 서브쿼리를 사용3-1-1) WHERE절에 CASE문을 활용하여 기간별 할인율 타입 사용, COALESCE로 할인율이 없는 경우 1을 사용SELECT H.HISTORY_ID, FLOOR..
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 그룹별 조건에 맞는 식당 목록 출력하기링크: https://school.programmers.co.kr/learn/courses/30/lessons/164670문제(일부): 리뷰가 3개 이상인 작성자 정보 조회하기0. CONCAT, SUBSTRING 이해하기CONCAT은 인수들을 연결하는 함수SUBSTRING(컬럼, 시작위치, 길이): 컬럼에서 시작위치부터 지정한 길이만큼 출력1. 서브쿼리 활용하기1) WITH절에서 리뷰를 3개 이상 남긴 ID를 선택2) 메인쿼리에서 CONCAT_WS로 공백을 넣어 주소를 합침 SUBSTRING으로 전화번호의 3 / 4 / 4자리를 추출하고 CONCAT으로 연결3) WHERE절에서 서브쿼리..
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 연간 평가점수에 해당하는 평가 등급 및 성과금 조회하기 링크: https://school.programmers.co.kr/learn/courses/30/lessons/284528 문제(일부): 평가등급과 성과금, 평가자 정보 조회 평가등급은 상,하반기 평균점수, 성과금 비율은 평가등급에 따라 부여됨 1. WITH절 사용 1) 상, 하반기 평균점수를 구하는 WITH절 생성 2) CASE WHEN 구문으로 1)의 평균 점수에 따라 평가등급과 성과금 비율 부여 3) 2)의 with절과 평가자 테이블을 JOIN하여 정보조회 WITH AVG_SCORE AS( SELECT EMP_NO, AVG(SCORE) AS AVG_SCORE FROM HR..