본문 바로가기

SQL32

programmers : 경기도에 위치한 식품창고 목록 출력하기 경기도에 위치한 식품창고 목록 출력하기 MYSQL IFNULL SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IFNULL(FREEZER_YN, 'N') FREEZER_YN FROM FOOD_WAREHOUSE WHERE ADDRESS LIKE '경기%' ORDER BY WAREHOUSE_ID ; CASE WHEN THEN END SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, (CASE WHEN FREEZER_YN IS NULL THEN 'N' WHEN FREEZER_YN = 'Y' THEN 'Y' WHEN FREEZER_YN = 'N' THEN 'N' END) FREEZER_YN FROM FOOD_WAREHOUSE WHERE ADDRE.. 2023. 1. 19.
programmers : 중복 제거하기 중복 제거하기 MYSQL -- IS NOT NULL SELECT COUNT(DISTINCT NAME) FROM ANIMAL_INS WHERE NAME IS NOT NULL; -- SUBQUERY SELECT COUNT(NAME) FROM (SELECT DISTINCT NAME FROM ANIMAL_INS) AI; ORACLE COUNT는 *가 아니면 NULL을 세지 않는다. SELECT COUNT(NAME) FROM (SELECT DISTINCT NAME FROM ANIMAL_INS); 2023. 1. 17.
programmers : 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 SELECT CAR_TYPE, COUNT(*) CARS FROM CAR_RENTAL_COMPANY_CAR WHERE OPTIONS LIKE ('%통풍시트%') OR OPTIONS LIKE ('%열선시트%') OR OPTIONS LIKE ('%가죽시트%') GROUP BY CAR_TYPE ORDER BY CAR_TYPE REGEXP SELECT CAR_TYPE, COUNT(CAR_ID) AS CARS FROM CAR_RENTAL_COMPANY_CAR WHERE OPTIONS REGEXP '통풍시트|열선시트|가죽시트' GROUP BY CAR_TYPE ORDER BY CAR_TYPE REGEXP_LIKE SELECT CAR_TYPE, COUNT(CAR_ID.. 2023. 1. 16.
programmers : 즐겨찾기가 가장 많은 식당 정보 출력하기 즐겨찾기가 가장 많은 식당 정보 출력하기 SELECT FOOD_TYPE, REST_ID, REST_NAME, FAVORITES FROM (SELECT FOOD_TYPE, REST_ID, REST_NAME, SUM(FAVORITES) FAVORITES FROM REST_INFO GROUP BY REST_ID ORDER BY FOOD_TYPE DESC, FAVORITES DESC) RI GROUP BY FOOD_TYPE 문제에서 음식종류별로 즐겨찾기 수가 가장 많은 식당의 정보를 출력하라고 되어있어서 처음부터 FOOD_TYPE을 GROUP BY 로 작성했는데, 생각해보니 해당 테이블에서 우선적으로 고유 음식점 ID별 즐겨찾기 수를 구한 다음 → FOOD_TYPE별 가장 높은 즐겨찾기 수를 가진 음식점의 정보.. 2023. 1. 16.