프로그래머스 | SQL 스터디 16
·
SQL/프로그래머스
SELECT대장균들의 자식의수 구하기(Lv3)문제 설명​문제​풀이SELECT로 ID, CHILD_COUNT를 조회 JOIN에서 selfjoin으로 ID와 PARENT_ID를 LEFT JOIN으로 연결* 개념적으로는 이렇게 구현해야 한다는 것을 알았지만, 방법을 잘 몰라 처음에는 WHERE ID=PARENT_ID로 구현함WHERE ID = PARENT_ID의 의미:이 조건은 동일한 개체가 부모 개체와 자식 개체가 되도록 강제합니다.즉, 동일한 레코드의 ID 값과 PARENT_ID 값이 같아야 하는 경우를 찾는다는 의미가 됩니다.그러나, 문제에서는 부모 개체의 ID와 자식 개체의 PARENT_ID가 서로 다른 행에 있어야 합니다.이런 문제점 때문에 self join으로 left join을 하는 것이 올바름!..
프로그래머스 | SQL 스터디 15 (SUBSTIRNG)
·
SQL/프로그래머스
SELECT가장 큰 물고리 10마리 구하기(Lv1)문제 설명​문제​풀이SELECT로 ID, LENGTH를 조회 ORDER BY에서 LENGTH 내림차순, ID 오름차순 정렬 LIMIT 10으로 상위 10마리 출력SELECT ID, LENGTHFROM FISH_INFOORDER BY LENGTH DESC, ID ASCLIMIT 10; 특정 물고리를 잡은 총 수 구하기(Lv2)문제 설명​문제​풀이SELECT로 COUNT로 FISH_COUNT를 조회 JOIN으로 공통 컬럼인 FISH_TYPE으로 두 테이블을 연결  WHERE에서 BASS, SNAPPER라는 FISH_NAME을 가진 것으로 제한SELECT COUNT(*) FISH_COUNTFROM FISH_INFO IJOIN FISH_NAME_INFO N ON..
프로그래머스 | SQL 스터디 14 (Union, Union all)
·
SQL/프로그래머스
SELECT★오프라인/온라인 판매 데이터 통합하기 (Lv4)문제 설명 ​문제​풀이SELECT로 판매 데이터의 판매 날짜, 상품ID, 유저ID, 판매량을 조회 FROM에서 온라인 데이터와 오프라인 데이터를 각각 UNION ALL을 통해서 병합* 오프라인 데이터의 USER_ID는 NULL 처리* 22년 3월의 데이터로 한정 ORDER BY에서 SALES_DATE, PRODUCT_ID, USER_ID 순으로 오름차순 정렬※ 모든 서브쿼리에는 별칭이 필수이다!!SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNTFROM ( -- 온라인 데이터 SELECT SALES_DATE, PRODUCT_ID, U..
프로그래머스 | SQL 스터디 13
·
SQL/프로그래머스
SELECT업그레이드 된 아이템 구하기(Lv2)문제 설명​문제 아이템의 희귀도가 'RARE'인 아이템들의 모든 다음 업그레이드 아이템의 아이템 ID(ITEM_ID), 아이템 명(ITEM_NAME), 아이템의 희귀도(RARITY)를 출력하는 SQL 문을 작성해 주세요. 이때 결과는 아이템 ID를 기준으로 내림차순 정렬주세요. ​풀이SELECT로 아이템 ID(ITEM_ID), 아이템 명(ITEM_NAME), 아이템의 희귀도(RARITY) 를 조회 JOIN에서 ITEM_INFO, ITEM_TREE를 공통 컬럼인 ITEM_ID로 연결 WHERE에서 희귀도가 RARE인 ITEM_ID이 PARENT_ID에 있는 것으로 제한 ORDER BY에서 ITEM_ID 순으로 내림차순 정렬SELECT I.ITEM_ID ,..
프로그래머스 | SQL 스터디 12
·
SQL/프로그래머스
SELECT모든 레코드 조회하기(Lv1)문제 설명​문제 동물 보호소에 들어온 모든 동물의 정보를 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요. SQL을 실행하면 다음과 같이 출력되어야 합니다. ​풀이SELECT로 모든 정보를 조회 ORDER BY에서 ANIMAL_ID 순으로 오름차순 정렬SELECT *FROM ANIMAL_INSORDER BY ANIMAL_ID; 역순 정렬하기(Lv1)문제 설명​문제 동물 보호소에 들어온 모든 동물의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 ANIMAL_ID 역순으로 보여주세요. SQL을 실행하면 다음과 같이 출력되어야 합니다. ​풀이SELECT로 NAME, DATETIME을 조회 ORDER BY에서 ANIMAL_ID 순으로 내림차순 ..
프로그래머스 | SQL 스터디 11 (비트연산자 &)
·
SQL/프로그래머스
SELECT서울에 위치한 식당 목록 출력하기(Lv4)문제 설명​문제 REST_INFO와 REST_REVIEW 테이블에서 서울에 위치한 식당들의 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회하는 SQL문을 작성해주세요. 이때 리뷰 평균점수는 소수점 세 번째 자리에서 반올림 해주시고 결과는 평균점수를 기준으로 내림차순 정렬해주시고, 평균점수가 같다면 즐겨찾기수를 기준으로 내림차순 정렬해주세요. ​풀이SELECT로 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회  JOIN에서 공통 컬럼인 REST_ID로 연결​ WHERE문에서 '서울'이 들어간 지역으로 제한* 서울특별시로 해서 틀렸는데, 서울특별시라고 표기하지 않은 식당들이 존재해서 '서울'로..
프로그래머스 | SQL 스터디 10
·
SQL/프로그래머스
SELECT재구매가 일어난 상품과 회원 리스트 구하기 (Lv2)문제 설명​문제 ONLINE_SALE 테이블에서 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여, 재구매한 회원 ID와 재구매한 상품 ID를 출력하는 SQL문을 작성해주세요. 결과는 회원 ID를 기준으로 오름차순 정렬해주시고 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬해주세요. ​풀이SELECT로 회원 ID, 상품 ID 를 조회 GROUP BY에서 회원 ID, 상품 ID로 그룹화 HAVING에서 개수가 1보다 큰 것으로 지정 ORDER BY에서 회원 ID는 오름차순, 상품 ID는 내림차순 정렬SELECT USER_ID,PRODUCT_IDFROM ONLINE_SALEGROUP BY USER_ID, PRODUCT_IDHAVING ..
프로그래머스 | JOIN - 없어진 기록 찾기 (+JOIN정리)
·
SQL/프로그래머스
ANIMAL_INS 테이블, ANIMAL_OUTS 테이블 두 개를 활용하여 쿼리문을 작성하는 문제입니다.​ANIMAL_OUTS 테이블에는 있는데, ANIMAL_INS 테이블에는 없는 동물들의 ID와 이름을 ID순으로 조회해야 합니다.JOIN 의 활용JOIN은 두 테이블의 데이터를 일정한 조건에 의해 연결하여 마치 하나의 테이블처럼 만드는 것으로 볼 수 있습니다.주로 많이 쓰이는 것으로 INNER JOIN과 LEFT OUTER JOIN을 들 수 있습니다.SQL에서 강점으로 생각되는 부분이 바로 테이블간의 JOIN을 통한 데이터 추출이라고 생각합니다.아래는 JOIN과 관련 되어 좋은 자료들을 발견하여 출처를 남기고 올리겠습니다다.출처 : https://hongong.hanbit.co.kr/sql-%EA%B8..