프로그래머스 | SQL 스터디 18
·
SQL/프로그래머스
SELECT부모의 형질을 모두 가지는 대장균 찾기(Lv2)문제 설명​문제​풀이SELECT로 ID, GENOTYPE, PARENT_GENOTYPE를 조회 JOIN에서 PARENT_ID를 가지는 테이블(부모가 있는 ID)을 self-join으로 연결 WHERE에서 E.GENOTYPE과 D.GENOTYPE을 비트 연산자를 한 값이 D.GENOTYPE으로 설정(부모의 형질을 모두 가지는 개체를 찾기 위한 쿼리) ORDER BY 에서 ID로 오름차순 정렬SELECT E.ID, E.GENOTYPE, D.GENOTYPE PARENT_GENOTYPEFROM ECOLI_DATA EJOIN ECOLI_DATA D ON E.PARENT_ID = D.IDWHERE (D.GENOTYPE & E.GENOTYPE) = D.GENO..
프로그래머스 | SQL 스터디 17
·
SQL/프로그래머스
SELECT특정 형질을 가진 대장균 찾기(Lv1)문제 설명​문제​풀이SELECT로 COUNT를 조회 WHERE에서 GENOTYPE이 2번 형질을 가지지 않으면서(GENOTYPE&2 =0)GENOTYPE이 1번이나 3번 형질을 가지게 설정(GENOTYPE&1 > 0 or GENOTYPE&4 > 0)SELECT COUNT(*) AS CountFROM ECOLI_DATA WHERE GENOTYPE&2 =0 AND (GENOTYPE&1 > 0 or GENOTYPE&4 > 0); 대장균의 크기에 따라 분류하기2 (Lv3)문제 설명​문제​풀이WITH에서 NTILE(4)를  SIZE_OF_COLONY별로 설정하고 COLONY_RATE라고 지칭 SELECT로 ID, COLONY_NAME을 조회문제에서 요구한 조..
프로그래머스 | 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문에서 '서울'이 들어간 지역으로 제한* 서울특별시로 해서 틀렸는데, 서울특별시라고 표기하지 않은 식당들이 존재해서 '서울'로..