프로그래머스 문제풀이
1. SELECT 문
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
WHERE INTAKE_CONDITION = 'Sick'
OERDER BY ANIMAL_ID;
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
WHERE INTAKE_CONDITION != "Aged"
ORDER BY ANIMAL_ID;
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
SELECT ANIMAL_ID,NAME,DATETIME FROM ANIMAL_INS
ORDER BY NAME ASC, DATETIME DESC;\
SELECT NAME FROM ANIMAL_INS
ORDER BY DATETIME ASC
LIMIT 1;
SELECT COUNT(*) AS USERS FROM USER_INFO
WHERE AGE>=20 AND AGE <= 29 AND YEAR(JOINED) = 2021;
SUM, MAX, MIN
SELECT MAX(DATETIME) AS DATETIME
FROM ANIMAL_INS
SELECT MIN(DATETIME) AS DATETIME
FROM ANIMAL_INS
SELECT COUNT(*) AS count
FROM ANIMAL_INS
SELECT COUNT(DISTINCT NAME) AS COUNT FROM ANIMAL_INS
WHERE NAME IS NOT NULL;
GROUP BY
SELECT ANIMAL_TYPE, COUNT(*) AS count
FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
ORDER BY ANIMAL_TYPE
SELECT NAME, COUNT(*) AS 'COUNT' FROM ANIMAL_INS
GROUP BY NAME
HAVING COUNT (NAME)>1
ORDER BY NAME
SELECT HOUR(DATETIME) AS 'HOUR', COUNT(*) AS 'COUNT'
FROM ANIMAL_OUTS
WHERE HOUR(DATETIME) >= 9 AND HOUR(DATETIME)<20
GROUP BY HOUR
ORDER BY HOUR
SELECT (CASE
WHEN PRICE BETWEEN 0 AND 9999 THEN '0'
WHEN PRICE BETWEEN 10000 AND 19999 THEN '10000'
WHEN PRICE BETWEEN 20000 AND 29999 THEN '20000'
WHEN PRICE BETWEEN 30000 AND 39999 THEN '30000'
WHEN PRICE BETWEEN 40000 AND 49999 THEN '40000'
WHEN PRICE BETWEEN 50000 AND 59999 THEN '50000'
WHEN PRICE BETWEEN 60000 AND 69999 THEN '60000'
WHEN PRICE BETWEEN 70000 AND 79999 THEN '70000'
WHEN PRICE BETWEEN 10000 AND 89999 THEN '80000'
END) AS 'PRICE_GROUP', COUNT(*) AS 'PRODUCTS'
FROM PRODUCT
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP
SELECT MCDP_CD AS '진료과코드', COUNT(MCDP_CD) AS '5월예약건수' FROM APPOINTMENT
WHERE APNT_YMD LIKE '%2022-05%'
GROUP BY MCDP_CD
ORDER BY COUNT(MCDP_CD) ASC, MCDP_CD
SELECT CAR_TYPE, COUNT(*) AS 'CARS' FROM CAR_RENTAL_COMPANY_CAR
WHERE (OPTIONS LIKE '%통풍시트%') OR (OPTIONS LIKE '%열선시트%') OR (OPTIONS LIKE '%가죽시트%')
GROUP BY CAR_TYPE
ORDER BY CAR_TYPE ASC
SELECT ICECREAM_INFO.INGREDIENT_TYPE, SUM (FIRST_HALF.TOTAL_ORDER) AS 'TOTAL_ORDER' FROM ICECREAM_INFO, FIRST_HALF
WHERE ICECREAM_INFO.FLAVOR = FIRST_HALF.FLAVOR
GROUP BY INGREDIENT_TYPE
ORDER BY TOTAL_ORDER
IS NULL
SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS,
CASE WHEN FREEZER_YN IS NULL THEN 'N' ELSE FREEZER_YN END
FROM FOOD_WAREHOUSE
WHERE ADDRESS LIKE '%경기도%'
ORDER BY WAREHOUSE_ID ASC
SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NULL
ORDER BY ANIMAL_ID ASC
SELECT ANIMAL_ID FROM ANIMAL_INS
WHERE NAME IS NOT NULL
ORDER BY ANIMAL_ID ASC
SELECT COUNT(*) AS 'USERS' FROM USER_INFO
WHERE AGE IS NULL
SELECT ANIMAL_TYPE,
IFNULL(NAME, 'No name') as NAME, SEX_UPON_INTAKE FROM ANIMAL_INS
ORDER BY ANIMAL_ID ASC
JOIN
SELECT BOOK_ID, AUTHOR_NAME,
DATE_FORMAT(PUBLISHED_DATE, "%Y-%m-%d") AS PUBLISHED_DATE
FROM BOOK JOIN AUTHOR
ON BOOK.AUTHOR_ID = AUTHOR.AUTHOR_ID
WHERE BOOK.CATEGORY = '경제'
ORDER BY PUBLISHED_DATE
SELECT PRODUCT_CODE, SUM(PRICE * SALES_AMOUNT) AS SALES
FROM PRODUCT
JOIN OFFLINE_SALE
ON PRODUCT.PRODUCT_ID = OFFLINE_SALE.PRODUCT_ID
GROUP BY PRODUCT_CODE
ORDER BY SALES DESC, PRODUCT_CODE ASC
String, Data
SELECT BOARD_ID, WRITER_ID, TITLE, PRICE,
CASE WHEN STATUS = 'SALE' THEN '판매중'
WHEN STATUS = 'RESERVED' THEN '예약중'
WHEN STATUS = 'DONE' THEN '거래완료' END STATUS
FROM USED_GOODS_BOARD
WHERE CREATED_DATE = '2022-10-5'
ORDER BY BOARD_ID DESC
SELECT CAR_ID, ROUND(AVG((DATEDIFF(END_DATE,START_DATE)+1)),1) AS AVERAGE_DURATION
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
HAVING AVERAGE_DURATION >= 7
ORDER BY AVERAGE_DURATION DESC, CAR_ID DESC
SELECT HISTORY_ID, CAR_ID,
DATE_FORMAT(START_DATE,"%Y-%m-%d") AS START_DATE,
DATE_FORMAT(END_DATE, "%Y-%m-%d") AS END_DATE,
CASE WHEN DATEDIFF(END_DATE, START_DATE)+1 >= 30 THEN '장기 대여'
ELSE '단기 대여'
END AS RENT_TYPE
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE START_DATE LIKE "2022-09%"
ORDER BY HISTORY_ID DESC
SELECT CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%네비게이션%'
ORDER BY CAR_ID DESC
SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
WHERE NAME IN('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty')
ORDER BY ANIMAL_ID
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE NAME LIKE '%EL%' and ANIMAL_TYPE = 'Dog'
ORDER BY NAME ASC
SELECT ANIMAL_ID, NAME,
CASE WHEN SEX_UPON_INTAKE LIKE '%Neutered%' or
SEX_UPON_INTAKE LIKE '%Spayed%'
then 'O'
else 'X'
END SEX_UPON_INTAKE
FROM ANIMAL_INS
SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%m-%d') as '날짜'
FROM ANIMAL_INS
SELECT
LEFT(PRODUCT_CODE, 2) AS CATEGORY,
COUNT(PRODUCT_ID) AS PRODUCTS
FROM PRODUCT
GROUP BY CATEGORY
ORDER BY CATEGORY ASC
댓글