[프로그래머스 SQL] Lv.2 - 가격이 제일 비싼 식품의 정보 출력하기
·
SQL/SUM, MAX, MIN
https://school.programmers.co.kr/learn/courses/30/lessons/131115 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이가격을 기준으로 내림차순 조회한다.LIMIT 키워드로 정렬된 데이터 중 상위 1개의 행만 조회한다.모든 컬럼을 조회한다.SELECT *FROM FOOD_PRODUCTORDER BY PRICE DESCLIMIT 1
[프로그래머스 SQL] Lv.1 - 잡은 물고기 중 가장 큰 물고기의 길이 구하기
·
SQL/SUM, MAX, MIN
https://school.programmers.co.kr/learn/courses/30/lessons/298515 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이MAX 키워드로 길이가 가장 큰 물고기의 길이를 구한다.CONCAT 키워드로 "cm"를 붙여서 조회한다.SELECT CONCAT(MAX(LENGTH), 'cm') AS MAX_LENGTHFROM FISH_INFO
[프로그래머스 SQL] Lv.1 - 최댓값 구하기
·
SQL/SUM, MAX, MIN
https://school.programmers.co.kr/learn/courses/30/lessons/59415 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이DATETIME을 기준으로 내림차순 정렬한다.LIMIT 키워드로 정렬된 데이터에서 가장 최상단에 있는 한건의 행만 조회한다.SELECT DATETIME AS 시간FROM ANIMAL_INSORDER BY DATETIME DESCLIMIT 1
[프로그래머스 SQL] Lv.1 - 가장 비싼 상품 구하기
·
SQL/SUM, MAX, MIN
https://school.programmers.co.kr/learn/courses/30/lessons/131697 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 풀이MAX 키워드로 PRODUCT 테이블에서 가장 높은 판매가를 조회한다.SELECT MAX(PRICE) AS MAX_PRICEFROM PRODUCT
[프로그래머스 SQL] Lv.4 - 특정 세대의 대장균 찾기
·
SQL/SELECT
https://school.programmers.co.kr/learn/courses/30/lessons/301650 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 풀이3세대 대장균은 2세대 대장균을 부모로 하고, 2세대 대장균은 1세대 대장균을 부모로 한다. 그리고 1세대 대장균은 부모가 없다.즉 서브쿼리로 1세대 대장균을 찾고, 또 서브쿼리로 2세대 대장균을 찾은 다음, 2세대 대장균을 부모로 갖는 행을 필터링한다.대장균 ID를 기준으로 오름차순 정렬한다.SELECT ID # 3세대 대장균FROM ECOLI_DATAWHERE PARENT_ID IN (SELECT ..
[프로그래머스 SQL] Lv.4 - 오프라인/온라인 판매 데이터 통합하기
·
SQL/SELECT
https://school.programmers.co.kr/learn/courses/30/lessons/131537 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 풀이두 테이블의 데이터를 합쳐야 하므로 UNION ALL 키워드를 사용한다.먼저 ONLINE_SALE 테이블에서 2022년 3월인 행을 필터링해 판매 날짜, 상품 ID, 유저 ID, 판매량을 조회한다.그리고 OFFLINE_SALE 테이블에서 2022년 3월인 행을 필터링해 판매 날짜, 상품 ID, 유저 ID, 판매량을 조회한다. 이 테이블에는 유저 ID가 없으므로 그냥 NULL로 조회한다.두 테이블 모두 판매 날짜의 경우 DATE_FOR..
[프로그래머스 SQL] Lv.4 - 서울에 위치한 식당 목록 출력하기
·
SQL/SELECT
https://school.programmers.co.kr/learn/courses/30/lessons/131118 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 풀이REST_INFO 테이블과 REST_REVIEW 테이블을 조인한다.이때 REST_REVIEW 테이블에서 식당별 리뷰 평균점수를 구해야 하기 때문에 그냥 조인하면 안 되고, 서브쿼리를 사용한다.GROUP BY로 식당별로 그룹핑해주고, 그룹핑된 식당의 리뷰 평균 점수를 ROUND와 AVG 키워드를 사용해서 구한다.이렇게 서브쿼리로 구해진 임시 리뷰 평균 점수 테이블과 조인한다.서울에 위치한 행을 필터링한다.평균점수를 기준으로 내림차순, ..
[프로그래머스 SQL] Lv.3 - 대장균의 크기에 따라 분류하기 2
·
SQL/SELECT
https://school.programmers.co.kr/learn/courses/30/lessons/301649 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 풀이ID를 기준으로 오름차순 정렬한다.ID와 분류된 이름을 조회한다. 분류는 개체의 크기 기준 4등급으로 분류해야 한다. 따라서 윈도우 함수 중에 비율 함수 NTILE 키워드를 사용한다. 개체의 크기를 내림차순 정렬했을 때 이것을 4등급으로 분류한다. 총 데이터의 수는 항상 4의 배수이기 때문에 특별히 고려할 것은 없어 보인다. (윈도우 함수는 항상 OVER 키워드와 함께 사용한다.)SELECT ID, CASE NTILE(4..
[프로그래머스 SQL] Lv.3 - 대장균의 크기에 따라 분류하기 1
·
SQL/SELECT
https://school.programmers.co.kr/learn/courses/30/lessons/299307 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 풀이ID를 기준으로 오름차순 정렬한다.ID와 분류를 조회한다. 분류는 CASE ~ WHEN 키워드를 사용해서 개체의 크기에 따라 적절한 이름으로 조회한다.SELECT ID, CASE WHEN SIZE_OF_COLONY
[프로그래머스 SQL] Lv.3 - 대장균들의 자식의 수 구하기
·
SQL/SELECT
https://school.programmers.co.kr/learn/courses/30/lessons/299305 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 풀이ECOLI_DATA 테이블을 자체 조인한다. 조인 조건은 ID와 PARENT_ID가 같아야 하며 이때 LEFT JOIN을 해주는 것이 중요하다. 자식이 없을 때 0을 출력해야 하기 때문이다.GROUP BY로 부모 ID를 기준으로 그룹핑해 준다.ID를 기준으로 오름차순 정렬한다.ID와 자식의 수를 조회한다. 자식의 수는 COUNT 키워드로 조회한다.SELECT A.ID, COUNT(B.ID) AS CHILD_COUNTFROM..