목록전체 글 (318)
개발로그필름
UNION결과에서 중복된 행을 제거즉, 집합 연산처럼 “유일한 값”만 남긴다그래서 내부적으로 정렬(sort) & 중복 제거(distinct) 과정이 필요 → 성능이 느릴 수 있음 예시:SELECT 1 AS numUNIONSELECT 1 AS numUNIONSELECT 2 AS num; 👉 결과num---12 UNION ALL결과에서 중복된 행도 그대로 남긴다정렬/중복 제거 과정이 없어서 빠름.단, 원하지 않는 중복이 있을 수 있음.SELECT 1 AS numUNION ALLSELECT 1 AS numUNION ALLSELECT 2 AS num;num---112 구분UNIONUNION ALL중복 제거OX정렬 여부있음없음속도느림빠름사용 상황중복 필요 없을 때중복도 포함해야 할 때 * 합치는 se..
https://school.programmers.co.kr/learn/courses/30/lessons/301646 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 정답 쿼리SELECT COUNT(*) AS COUNTFROM ECOLI_DATAWHERE (GENOTYPE & 2) = 0 AND (GENOTYPE & 5) > 0; 노트2번 형질은 갖고 있지 않으면서, 1번 또는 3번 형질을 갖고 있는 대장균 개체의 수를 구하는 것이 핵심!1번 형질이 포함된다면 2의 0승 -> 12번 형질이 포함된다면 2의 1승 -> 2 ..... 이렇게 나타낼 수 있는데문제에서 2번 형질은 갖고 있지 않으니까 (GENOTYP..
정답 쿼리WITH G1 AS ( SELECT ID, PARENT_ID FROM ECOLI_DATA WHERE PARENT_ID IS NULL),G2 AS ( SELECT ID, PARENT_ID FROM ECOLI_DATA WHERE PARENT_ID IN (SELECT ID FROM G1)),G3 AS ( SELECT ID FROM ECOLI_DATA WHERE PARENT_ID IN (SELECT ID FROM G2))SELECT * FROM G3
https://school.programmers.co.kr/learn/courses/30/lessons/131537 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 정답 쿼리SELECT DATE_FORMAT(SALES_DATE,"%Y-%m-%d") as SALES_DATE, PRODUCT_ID, NULL as USER_ID, SALES_AMOUNTFROM OFFLINE_SALEWHERE SALES_DATE BETWEEN '2022-03-01' AND '2022-03-31'UNION ALLSELECT DATE_FORMAT(SALES_DATE,"%Y-%m-%d") as SALES_DATE, PRODUCT_ID,..
https://school.programmers.co.kr/learn/courses/30/lessons/131124 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 정답 쿼리WITH REVIEW_MAX AS ( SELECT M.MEMBER_ID, M.MEMBER_NAME, COUNT(*) CNT FROM MEMBER_PROFILE M JOIN REST_REVIEW R ON M.MEMBER_ID = R.MEMBER_ID GROUP BY MEMBER_ID ORDER BY CNT DESC LIMIT 1)SELECT M.MEMBER_NAME, R.REVIEW_TEXT, DA..
https://school.programmers.co.kr/learn/courses/30/lessons/299305 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 정답 쿼리WITH CHILD_CNT AS ( SELECT PARENT_ID, COUNT(*) CHILD_COUNT FROM ECOLI_DATA WHERE PARENT_ID IS NOT NULL GROUP BY PARENT_ID)SELECT D.ID, IF(C.CHILD_COUNT IS NULL, 0, C.CHILD_COUNT) CHILD_COUNTFROM ECOLI_DATA DLEFT JOIN CHILD_CNT C ON ..
https://school.programmers.co.kr/learn/courses/30/lessons/284528 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 정답 쿼리WITH GRADE_TABLE AS ( SELECT EMP_NO, CASE WHEN AVG(SCORE) >= 96 THEN 'S' WHEN AVG(SCORE) >= 90 THEN 'A' WHEN AVG(SCORE) >= 80 THEN 'B' ELSE 'C' END AS GRADE FROM HR_GRADE GROUP BY E..
https://school.programmers.co.kr/learn/courses/30/lessons/151139 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 정답 쿼리WITH FILTERED_HISTORY AS ( SELECT * FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE START_DATE >= '2022-08-01' AND START_DATE = 5)SELECT MONTH(START_DATE) AS MONTH, CAR_ID, COUNT(*) AS RECORDSFROM FILTERED_HISTORYWHERE CAR_ID IN (..