Programmers/Level 1~2 5

[Programmers/Level 1~2] IS NULL(MySQL)

Level 1 경기도에 위치한 식품창고 목록 출력하기 IFNULL을 사용하여 냉동시설 여부가 없다면 'N'으로 출력하도록 하고, 주소가 경기도로 시작하는 식품창고만을 찾도록 한다. SELECT A.WAREHOUSE_ID, A.WAREHOUSE_NAME, A.ADDRESS, IFNULL(A.FREEZER_YN, 'N') AS FREEZER_YN FROM FOOD_WAREHOUSE A WHERE A.ADDRESS LIKE '경기도%' ORDER BY A.WAREHOUSE_ID ASC 이름이 없는 동물의 아이디 SELECT A.ANIMAL_ID FROM ANIMAL_INS A WHERE A.NAME IS NULL ORDER BY A.ANIMAL_ID ASC 이름이 있는 동물의 아이디 SELECT A.ANIMA..

[Programmers/Level 2] JOIN(MySQL)

Level 2 조건에 맞는 도서와 저자 리스트 출력하기 BOOK 테이블과 AUTHOR 테이블을 저자의 아이디를 기준으로 묶는다. SELECT A.BOOK_ID, B.AUTHOR_NAME, DATE_FORMAT(A.PUBLISHED_DATE, '%Y-%m-%d') AS 'PUBLISHED_DATE' FROM BOOK A INNER JOIN AUTHOR B ON A.AUTHOR_ID = B.AUTHOR_ID WHERE A.CATEGORY = '경제' ORDER BY A.PUBLISHED_DATE ASC 상품 별 오프라인 매출 구하기 PRODUCT 테이블과 OFFLINE_SALE 테이블을 상품 아이디를 기준으로 묶는다. 그리고 상품 코드로 상품들을 구분하고 상품 코드별 판매량의 총합과 상품의 가격을 곱한 값을..

[Programmers/Level 2] GROUP BY(MySQL)

Level 2 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 GROUP BY로 자동차를 종류별로 구분한다. 옵션이 쉼표로 구분되어 있는 문자열이기 때문에 '%옵션 정보%'를 통하여 통풍시트, 열선시트, 가죽시트를 옵션으로 포함하는 자동차만 따진다. SELECT A.CAR_TYPE, COUNT(A.CAR_TYPE) AS CARS FROM CAR_RENTAL_COMPANY_CAR A WHERE (A.OPTIONS LIKE '%통풍시트%') OR (A.OPTIONS LIKE '%열선시트%') OR (A.OPTIONS LIKE '%가죽시트%') GROUP BY A.CAR_TYPE ORDER BY A.CAR_TYPE ASC 진료과별 총 예약 횟수 출력하기 진료과 코드별로 예약 건수를 구분한다. 예약 날짜에..

[Programmers/Level 1~2] SUM, MAX, MIN(MySQL)

Level 1 가장 비싼 상품 구하기 SELECT MAX(A.PRICE) AS MAX_PRICE FROM PRODUCT A 최댓값 구하기 SELECT MAX(A.DATETIME) AS DATETIME FROM ANIMAL_INS A Level 2 가격이 제일 비싼 상품의 정보 출력하기 SELECT A.PRODUCT_ID, A.PRODUCT_NAME, A.PRODUCT_CD, A.CATEGORY, A.PRICE FROM FOOD_PRODUCT A ORDER BY A.PRICE DESC LIMIT 1 최솟값 구하기 SELECT MIN(A.DATETIME) AS DATETIME FROM ANIMAL_INS A 동물 수 구하기 SELECT COUNT(*) FROM ANIMAL_INS 중복 제거하기 이름의 중복을..

[Programmers/Level 1~2] SELECT(MySQL)

Level 1 과일로 만든 아이스크림 고르기 아이스크림의 총 주문량은 FIRST_HALF 테이블에 있고, 아이스크림의 주 성분은 ICECREAM_INFO 테이블에 있으므로 INNER JOIN을 통해 각 테이블의 FLAVOR 정보가 같은 것들만 묶어준다. 총 주문량이 3000을 넘어가고 주 성분이 과일인 아이스크림을 찾아야 하므로 WHERE을 통해 조건식을 세워준다. 마지막으로 총 주문량을 내림차순으로 정렬하고 조건을 만족하는 모든 아이스크림의 맛을 출력해준다. SELECT A.FLAVOR FROM FIRST_HALF A INNER JOIN ICECREAM_INFO B ON (A.FLAVOR = B.FLAVOR) WHERE (A.TOTAL_ORDER > 3000) AND (B.INGREDIENT_TYPE ..