일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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고득점KIT
- leetcodesql50
- join
- 윈도우함수
- 파이썬문풀
- 데이터분석
- levle1
- UNION
- 코딩테스트
- leetcode
- with절
- 리트코드sql
- 문풀
- sql문풀
- leetcode문풀
- 코테
- 약수구하기
- SQL테스트
- GROUPBY
- With
- SQL
- 활성사용자수
- 데이터리안
- 서브쿼리
- 프로그래머스
- 프로그래머스문풀
- 셀프조인
- 위키독스
- 파이썬
- mysql
- Today
- Total
목록SQL/sql문풀 (33)
꿈은 데이터분석가, 취미는 계획
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 우유와 요거트가 담긴 장바구링크: https://school.programmers.co.kr/learn/courses/30/lessons/62284문제(일부): 우유와 요거트를 동시에 구입한 장바구니의 아이디 조회1. UNION과 GROUP BY 사용하기1) NAME = 'Milk'인 것과 NAME = 'Yogurt'인 것을 각각 구하기2) UNION으로 합친 후 group by해서 HAVING에서 2이상인 ID를 조회(=2개 모두 구매한 ID)SELECT CART_IDFROM (SELECT DISTINCT CART_ID, NAME FROM CART_PRODUCTS WHERE NAME = 'Milk'UNIONSELECT DI..
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기링크: https://school.programmers.co.kr/learn/courses/30/lessons/164671문제(일부): 고객정보 테이블과 고객리뷰테이블에서 주문이 가장 많은 회원의 리뷰정보 불러오기WITH절 활용하기1) WITH절에서 VIEW가 MAX인 BOARD_ID찾기 => GROUP BY(BOARD_ID) 후 VIEW를 기준으로 내림차순하여 LIMI 1을 해야한다 SELECT MAX(VIEWS), BOARD_ID를 하는 경우 VIEW는 MAX값이지만 BOARD_ID는 매칭되지 않는다2) 메인쿼리의 WHERE절에서 WITH절의 BOARD..
출처:[프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 링크: https://school.programmers.co.kr/learn/courses/30/lessons/157340문제(일부): 특정일에 대여 중인 자동차의 경우 '대여중' 이라고 표시, 아닌 경우 '대여가능'을 표시하는 컬럼 추가1. WITH절과 CASE 활용하기1) WITH절에서 CASE WHEN으로 대여기간이 '2022-10-16'에 있는 경우 1, 아닌 경우 0인 AVAILABILITY컬럼 생성2) 메인쿼리에서 1번의 컬럼의 합에 대해 1이면 '대여중' 0이면 '대여 가능'으로 표시WITH RENTAL AS(SELECT CAR_ID, CASE ..
0. MY SQL의 DATETIME 이해하기DATEDIFF는 DATE와 DATETIME에만 적용 가능,TIMESTAMPDIFF 는 DATETIME과 TIMESTAMP형식의 데이터에만 적용 가능 단, MYSQL에서는 VARCHAR 형식임에도 불구하고, DATEDIFF 및 TIMESTAMPDIFF 함수 사용 시이를 날짜/시간 형식으로 인식하여 처리(내부적으로 문자열을 적절하게 파싱하여 처리하기 때문)1. DATEDIFF()2개 날짜의 차이를 반환ex) DATEDIFF( '2020-07-21T10:34:51', '2020-07-20T9:34:50') => 1DATEDIFF(date1, date2)2. TIMESTAMPDIFF ()2개 차이를 지정한 단위로 반환ex) TIMESTAMPDIFF( MINUTE, '..
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 멸종위기의 대장균 찾기링크: https://school.programmers.co.kr/learn/courses/30/lessons/301651문제(일부): 세대별로 자식이 없는 개체의 수와 세대를 출력재귀쿼리 사용하기풀이원본: https://school.programmers.co.kr/questions/76223 1) 재귀쿼리로 세대를 구분하는 임시테이블 생성1-1) 임시테이블의 첫번째 쿼리는 초기값으로 1세대로 지정(PARENT_ID가 NULL = 1세대)1-2) UNION ALL 아래의 두번째 쿼리는 재귀쿼리로 PARENT_ID와 매칭되는 ID가 없을 때 까지 반복하여 세대를 구분 *재귀쿼리에 대한 설명: https://o..
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 특정 세대의 대장균 찾기링크: https://school.programmers.co.kr/learn/courses/30/lessons/301650문제(일부): 3세대 대장균ID를 출력하는 SQL작성1. 중첩된 서브쿼리 사용하기0) WHERE절에서 IN연산자로 ID와 PARENT_ID의 세대관계를 확인1) 가장 내부의 서브쿼리는 PARENT_ID가 NULL인, 즉 1세대에 해당하는 모든 ID를 찾음2) 두번째 서브쿼리는 1세대 ID에서 분화 된 2세대 ID를 찾음3) 세번째 서브쿼리는 2세대 ID에서 분화 된 3세대 ID를 찾음 -- 3세대 IDSELECT IDFROM ECOLI_DATAWHERE PARENT_ID IN ( ..