PRACTICE/SQL 108

[MySQL] 2단계 17. 상품 별 오프라인 매출 구하기

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/131533SELECT PR.PRODUCT_CODE, SUM(PR.PRICE * OS.SALES_AMOUNT) AS SALESFROM PRODUCT PRJOIN OFFLINE_SALE OS ON PR.PRODUCT_ID = OS.PRODUCT_IDGROUP BY PR.PRODUCT_CODEORDER BY SALES DESC, PR.PRODUCT_CODE;PRODUCT_CODE별로 매출액(PRICE(판매가) * SALES_AMOUNT(판매량))을 합산하여 SALES라는 명칭으로 출력했음매출액을 기준으로 내림차순, 매출액이 같을 경우 PRODUCT_CODE 기준으로 오름차순 정렬했다.

PRACTICE/SQL 2024.12.20

[MySQL] 2단계 16. 조건에 맞는 도서와 저자 리스트 출력하기

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/144854SELECT BOOK_ID, AUTHOR_NAME, DATE_FORMAT(PUBLISHED_DATE,"%Y-%m-%d") AS "PUBLISHED_DATE"FROM BOOKJOIN AUTHOR ON BOOK.AUTHOR_ID = AUTHOR.AUTHOR_IDWHERE BOOK.CATEGORY = "경제"ORDER BY PUBLISHED_DATE; '경제' 카테고리 조건에 해당하는 도서 정보를 출력하는 문제였고 출판일을 조건에 맞는 형식으로 나타냈다.

PRACTICE/SQL 2024.12.20

[MySQL] 2단계 14. 입양 시각 구하기(1)

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/59412SELECT HOUR(DATETIME) AS HOUR, COUNT(*) AS COUNTFROM ANIMAL_OUTSWHERE HOUR(DATETIME) BETWEEN 9 AND 19GROUP BY HOURORDER BY HOUR; 시간대별로 입양 건수를 조회하기 위해 HOUR 함수를 사용하여 DATETIME 컬럼에서 시간만 추출 ㄴ 추출된 시간별로 그룹핑하고, 시간대 오름차순으로 정렬하여 결과를 출력했다. BETWEEN이상과 이하를 포함하는 범위를 지정하는 키워드 양 끝값을 포함하는 조건을 설정할 때 유용함ex ) WHERE HOUR(DATETIME) BETWEEN 9 AND 19는 ..

PRACTICE/SQL 2024.12.19

[MySQL] 2단계 13. 중성화 여부 파악하기

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/59409SELECT ANIMAL_ID, NAME, CASE WHEN SEX_UPON_INTAKE LIKE '%Neutered%' OR SEX_UPON_INTAKE LIKE '%Spayed%' THEN 'O' ELSE 'X' END AS "중성화"FROM ANIMAL_INSORDER BY ANIMAL_ID; 중성화 여부를 'O' 또는 'X'로 표시하기 위해 CASE문을 사용했다.CASE 문 CASE 문은 SQL에서 조건에 따라 다른 값을 반환할 때 사용된다. IF문과 비슷하게 작동하며, 특정 조건이 TRUE일 때 값..

PRACTICE/SQL 2024.12.19

[MySQL] 2단계 12. 고양이와 개는 몇 마리 있을까

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/59040SELECT ANIMAL_TYPE, COUNT(*) AS "count"FROM ANIMAL_INSGROUP BY ANIMAL_TYPEORDER BY ANIMAL_TYPE; 고양이와 개가 각각 몇마리인지 세는 조건이니까 group by절을 사용했고고양이를 먼저 조회 되게 하라는 조건은 cat, dog 중 cat이 먼저 출력되게 하려면animal_type 컬럼을 오름차순 정렬 (c가 d보다 먼저이므로 고양이가 앞에 가게 출력할 수 있었다.)

PRACTICE/SQL 2024.12.18

[MySQL] 2단계 11. 진료과별 총 예약 횟수 출력하기

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/132202SELECT MCDP_CD AS "진료과코드", COUNT(*) AS "5월예약건수"FROM APPOINTMENTWHERE APNT_YMD LIKE "2022-05%"GROUP BY MCDP_CDORDER BY COUNT(*) ASC, MCDP_CD ASC; 조건 0. 2022년 5월 예약한 환자수를 진료과 코드별로 조회  1. 컬럼명 지정 2. 진료과별 예약한 환자 수를 기준 오름차순 정렬3. 예약 건수가 같은 경우 진료과 코드를 기준으로 오름차순 정렬

PRACTICE/SQL 2024.12.18

[MySQL] 2단계 10. 카테고리 별 상품 개수 구하기

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/131529SELECT SUBSTRING(PRODUCT_CODE, 1, 2) AS CATEGORY_CODE, COUNT(*) AS PRODUCTSFROM PRODUCTGROUP BY CATEGORY_CODEORDER BY CATEGORY_CODE ASC;ㄴ SUBSTRING() 함수를 사용하여 PRODUCT_CODE 앞 두 자리를 추출각 카테고리별 상품 개수를 구하기 위해 GROUP BY를 사용 별칭 사용의 규칙SQL에서 GROUP BY와 ORDER BY 절에서는 원래 컬럼명이나 별칭을 사용할 수 있지만,  일반적으로 별칭을 사용하는 게 권장됨. 특히 SUBSTRING() 같은 함수로 변형된 ..

PRACTICE/SQL 2024.12.15
320x100