일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- sql문풀
- 파이썬
- With
- levle1
- SQL고득점KIT
- 윈도우함수
- 활성사용자수
- 서브쿼리
- 데이터리안
- 위키독스
- 프로그래머스
- 약수구하기
- 리트코드sql
- leetcode문풀
- 셀프조인
- 코딩테스트
- GROUPBY
- 문풀
- UNION
- leetcodesql50
- 프로그래머스문풀
- leetcode
- 파이썬문풀
- SQL테스트
- 데이터분석
- with절
- join
- mysql
- Today
- Total
목록SQL/sql문풀 (33)
꿈은 데이터분석가, 취미는 계획
출처: [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 - 1683. Invalid Tweets 문제(일부): content의 길이가 15이상인 id찾기LENGTH VS CHAR_LENGTHMY SQL에서는 글자 수를 세는 방법으로 위의 2가지 방법이 있다.차이점은 LENGTH는 문자열의 길이를 가져오고, CHAR_LENGTH는 문자열의 길이를 가져옵니다. (UTF-8의 경우)영어의 경우 문자당 1개의 바이트지만, 한글은 문자당 3바이트로어떤 것을 쓰는지에 따라 차이가 발생합니다!EX) 안녕 / Hi => CHAR_LENGTH를 쓰는 경우 문자열의 길이가 같으므로 2를 출력=> LENGTH를 쓰는 경우 한글인 '안녕'은 6을 출력, 영어인 'Hi'는 2를 출력
출처: [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/131537문제(일부): 온/오프라인의 판매 테이블을 출력, 오프라인 테이블의 USER_ID는 NULL로 표시UNION ALL로 2개의 테이블 합치기1) 기간을 설정한 온,오프라인의 2개 테이블을 UNION ALL로 합치기2) 오프라인의 경우 USER_ID가 NULL로 나올 수 있게 NULL값으로 채운 컬럼을 생성SELECT DATE_FORMAT(SALES_DATE,'%Y-%m-%d') AS SALES_DATE ,PRODUCT_ID ,USER_ID ..
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 업그레이드 할 수 없는 아이템 구하기링크: https://school.programmers.co.kr/learn/courses/30/lessons/131124문제(일부): 부모, 자식관계를 활용하여 더 이상 업그레이드 할 수 없는 아이템 구하기SELF JOIN과 WITH절 사용하기1) WITH절에서 SELF JOIN, WHERE 절에서 PARENT_ID가 NULL인 값(업그레이드 x)을 추출2) 메인쿼리에서 아이템정보 테이블과 JOIN하여 더 이상 업그레이드 할 수 없는 아이템의 정보 조회WITH NOT_UPGRADE AS( SELECT i1.ITEM_ID FROM ITEM_TREE AS i1 ..
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 그룹별 조건에 맞는 식당 목록 출력하기링크: https://school.programmers.co.kr/learn/courses/30/lessons/299305문제(일부): 대장균 개체의 ID와 자식의 수를 출력하는 쿼리 작성, 자식이 없다면 0으로 출력1. SELF JOIN 사용하기1) 동일한 테이블을 다른 별칭을 주어서 사용하는 SELF JOIN사용2) JOIN 조건으로 e1테이블의 ID = e2테이블의 PARENT_ID, 해당 ID를 부모로 가지는 자식을 JOIN3) LEFT를 사용하여 자식이 없어도 조회되도록 함SELECT e1.ID, COUNT(e2.PARENT_ID) AS CHILD_COUNTFROM ECOLI_DATA..