목록코드카타/SQL (78)
susinlee 님의 블로그
[문제] 상반기 동안 각 아이스크림 성분 타입과 성분 타입에 대한 아이스크림의 총주문량을 총주문량이 작은 순서대로 조회하는 SQL 문을 작성해주세요. 이때 총주문량을 나타내는 컬럼명은 TOTAL_ORDER로 지정해주세요. [단계별 풀이] 1. FIRST_HALF 테이블과 ICECREAM_INFO 테이블을 FLAVOR 기준으로 JOIN2. INGREDIENT_TYPE 을 GROUP BY3. TOTAL_ORDER를 SUM 한 후 TOTAL_ORDER 로 별칭4. TOTAL_ORDER를 오름차순 정렬[정답]SELECT I.INGREDIENT_TYPE, SUM(TOTAL_ORDER) AS TOTAL_ORDERFROM FIRST_HALF FJOIN ICECREAM_INFO ION F.FLAVOR =..
[문제] FOOD_ORDER 테이블에서 2022년 5월 1일을 기준으로 주문 ID, 제품 ID, 출고일자, 출고여부를 조회하는 SQL문을 작성해주세요. 출고여부는 2022년 5월 1일까지 출고완료로 이 후 날짜는 출고 대기로 미정이면 출고미정으로 출력해주시고, 결과는 주문 ID를 기준으로 오름차순 정렬해주세요. [단계별 풀이] 1. CASE WHEN 문으로 출고일자가 5월 1일보다 같거나 작으면 출고완료, 이후는 출고대기, NULL이면 출고미정2. 주문ID, 제품ID, 출고일자, 출고여부를 선택3. 주문ID 기준으로 오름차순 정렬[정답]SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE, '%Y-%m-%d'), CASE WHEN OUT..
[문제] '경제' 카테고리에 속하는 도서들의 도서 ID(BOOK_ID), 저자명(AUTHOR_NAME), 출판일(PUBLISHED_DATE) 리스트를 출력하는 SQL문을 작성해주세요.결과는 출판일을 기준으로 오름차순 정렬해주세요. [단계별 풀이] 1. BOOK 테이블과 AUTHOR 테이블을 AUTHOR_ID 기준으로 JOIN2. CATEGORY가 경제인 행들만 필터링3. 도서 ID, 저자명, 출판일 출력4. 출판일 기준으로 오름차순 정렬5. 날짜 포맷 맞춰야해요[정답]SELECT B.BOOK_ID, A.AUTHOR_NAME, DATE_FORMAT(B.PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATEFROM BOOK BJOIN AUTHOR AON B.A..
[문제] 보호소에서 중성화 수술을 거친 동물 정보를 알아보려 합니다. 보호소에 들어올 당시에는 중성화되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 종, 이름을 아이디 순으로 조회하는 SQL 문을 작성해주세요. [단계별 풀이] 1. ANIMAL_INS 테이블과 ANIMAL_OUTS 테이블을 ANIMAL_ID 기준으로 JOIN2. INS의 SEX_UPON_INTAKE가 'Intact' 이면서 OUTS의 SEX_UPON_OUTCOME이 'Spayed' 또는 'Neutered' 인 행을 필터링3. 아이디와 생물 종, 이름을 선택4. ID 순으로 오름차순 정렬 참고: REGEXP보다 LIKE 연산자가 단순문자열 패턴 매칭이기 때문에 좀 더 빠릅니다.[정답]SELECT I.ANIMAL_ID,..
[문제] 입양을 간 동물 중, 보호 기간이 가장 길었던 동물 두 마리의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 기간이 긴 순으로 조회해야 합니다. [단계별 풀이] 1. ANIMAL_INS 테이블과 ANIMAL_OUTS 테이블을 ANIMAL_ ID 기준으로 JOIN2. 아이디와 이름을 선택3. INS의 DATETIME과 OUTS의 DATETIME의 차이로 내림차순 정렬4. LIMIT 으로 2행 제[정답]SELECT I.ANIMAL_ID, I.NAMEFROM ANIMAL_INS IJOIN ANIMAL_OUTS OON I.ANIMAL_ID = O.ANIMAL_IDORDER BY O.DATETIME-I.DATETIME DESCLIMIT 2
[문제] 관리자의 실수로 일부 동물의 입양일이 잘못 입력되었습니다. 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일이 빠른 순으로 조회해야합니다. [단계별 풀이] 1. ANIMAL_INS 테이블과 ANIMAL_OUTS 테이블을 ANIMAL_ID 기준으로 JOIN2. INS의 DATETIME 보다 OUTS의 DATETIME 이 더 작은 행을 필터링3. 동물의 아이디와 이름을 선택4. INS의 DATETIME을 오름차순 정렬[정답]SELECT I.ANIMAL_ID, I.NAMEFROM ANIMAL_INS IJOIN ANIMAL_OUTS OON I.ANIMAL_ID = O.ANIMAL_IDWHERE I.DATETIME > O.DAT..
[문제] PRODUCT 테이블과 OFFLINE_SALE 테이블에서 상품코드 별 매출액(판매가 * 판매량) 합계를 출력하는 SQL문을 작성해주세요. 결과는 매출액을 기준으로 내림차순 정렬해주시고 매출액이 같다면 상품코드를 기준으로 오름차순 정렬해주세요. [단계별 풀이] 1. PRODUCT 테이블과 OFFLINE_SALE 테이블을 PRODUCT_ ID 기준으로 JOIN2. PRODUCT_CODE를 GROUP BY3. PRICE와 SALES_AMOUNT를 곱한 후 해당 컬럼을 SUM 한 뒤 SALES로 별칭4. SALES를 내림차순 정렬, 상품코드를 오름차순 정렬[정답]SELECT P.PRODUCT_CODE, SUM(P.PRICE * S.SALES_AMOUNT) AS SALESFROM PRODUCT..
[문제] 2022년 1월의 카테고리 별 도서 판매량을 합산하고, 카테고리(CATEGORY), 총 판매량(TOTAL_SALES) 리스트를 출력하는 SQL문을 작성해주세요.결과는 카테고리명을 기준으로 오름차순 정렬해주세요. [단계별 풀이] 1. BOOK 테이블과 BOOK_SALES 테이블을 BOOK_ID 기준으로 JOIN2. SALES_DATE가 22년 1월인 행을 필터링3. CATEGORY를 GROUP BY하고 SALES를 SUM 한뒤 TOTAL_SALES로 지정4. CATEGORY 기준으로 오름차순 정렬 [정답]SELECT B.CATEGORY, SUM(S.SALES) AS TOTAL_SALESFROM BOOK BJOIN BOOK_SALES SON B.BOOK_ID = S.BOOK_IDWHERE..