1. 역순 정렬하기
SELECT name, datetime from animal_ins order by animal_id desc;
2. 여러 기준으로 정렬하기
SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS ORDER BY NAME ASC, DATETIME DESC;
3. 모든 레코드 조회하기
SELECT * FROM ANIMAL_INS;
4. 동물의 아이디와 이름
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS ORDER BY ANIMAL_ID;
5. 강원도에 위치한 생산공장 목록 출력하기
SELECT FACTORY_ID, FACTORY_NAME, ADDRESS FROM FOOD_FACTORY WHERE ADDRESS LIKE '강원도%' ORDER BY FACTORY_ID;
6. 상위 n개 레코드
SELECT NAME FROM ANIMAL_INS ORDER BY DATETIME LIMIT 1;
7.동명 동물 수 찾기
SELECT NAME, COUNT(ANIMAL_ID) "COUNT" FROM ANIMAL_INS
WHERE NAME IS NOT NULL
GROUP BY NAME
HAVING COUNT(ANIMAL_ID)>1
ORDER BY NAME;
8. 아픈 동물 찾기
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION='SICK';
9. 인기 있는 아이스크림
SELECT FLAVOR FROM FIRST_HALF ORDER BY TOTAL_ORDER DESC, SHIPMENT_ID ASC;
10. 조건에 맞는 회원 수 구하기
SELECT COUNT(USER_ID) "USERS" FROM USER_INFO WHERE JOINED LIKE '2021%' AND AGE>=20 AND AGE<=29;
11. 동물 수 구하기
SELECT COUNT(ANIMAL_ID) "COUNT" FROM ANIMAL_INS;
12. 최솟값 구하기
SELECT DATETIME "시간" FROM ANIMAL_INS ORDER BY DATETIME ASC LIMIT 1;
13. 이름이 있는 동물의 아이디
SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL;
14. 중복 제거하기
SELECT COUNT(DISTINCT NAME) "count" FROM ANIMAL_INS WHERE NAME IS NOT NULL;
15. 어린 동물 찾기
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION != 'Aged' ORDER BY ANIMAL_ID;
16. 나이 정보가 없는 회원 수 구하기
SELECT COUNT(USER_ID) AS "USERS" FROM USER_INFO WHERE AGE IS NULL;
17. 가장 비싼 상품 구하기
SELECT PRICE AS "MAX_PRICE" FROM PRODUCT ORDER BY PRICE DESC LIMIT 1;
18. 이름에 el이 들어가는 동물 찾기
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE ANIMAL_TYPE = "Dog" AND NAME LIKE "%EL%" ORDER BY NAME;
19. 고양이와 개는 몇 마리 있을까
SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE;
20. NULL 처리하기
SELECT ANIMAL_TYPE, IFNULL(NAME, "No name") AS NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS ORDER BY ANIMAL_ID;
21. 경기도에 위치한 식품창고 목록 출력하기
SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IFNULL(FREEZER_YN, "N") AS "FREEZER_YN" FROM FOOD_WAREHOUSE WHERE WAREHOUSE_NAME LIKE '%경기%' ORDER BY WAREHOUSE_ID ASC;
22. 12세 이하인 여자 환자 목록 출력하기
SELECT PT_NAME, PT_NO, GEND_CD, AGE, IFNULL(TLNO, "NONE") AS "TLNO" FROM PATIENT WHERE AGE<=12 AND GEND_CD = 'W' ORDER BY AGE DESC, PT_NAME ASC;
23. 최댓값 구하기
SELECT DATETIME "시간" FROM ANIMAL_INS ORDER BY DATETIME DESC LIMIT 1;
24. 가격이 제일 비싼 식품의 정보 출력하기
SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE
FROM FOOD_PRODUCT
ORDER BY PRICE DESC
LIMIT 1;
25. 이름이 없는 동물의 아이디
SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL ORDER BY ANIMAL_ID ASC;
26. 흉부외과 또는 일반외과 의사 목록 출력하기
SELECT DR_NAME, DR_ID, MCDP_CD, DATE_FORMAT(HIRE_YMD, '%Y-%m-%d') AS HIRE_YMD
FROM DOCTOR
WHERE MCDP_CD='CS'OR MCDP_CD='GS'
ORDER BY HIRE_YMD DESC, DR_NAME ASC;
27. DATETIME에서 DATE로 형 변환
SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%m-%d') AS "날짜"
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
28. 평균 일일 대여 요금 구하기
SELECT ROUND(AVG(DAILY_FEE),0) AS AVERAGE_FEE FROM CAR_RENTAL_COMPANY_CAR
WHERE CAR_TYPE='SUV';
ROUND(값, 자릿수)
자릿수가 N: 소숫점 아래 N째 자리까지 반올림하여 표시
자릿수가 -N: 반올림하여 10의 N승 자리까지 표시
자릿수가 0: 반올림하여 1의 자리까지 표시
29. 조건에 맞는 도서 리스트 출력하기
SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d')
FROM BOOK
WHERE YEAR(PUBLISHED_DATE) = "2021" AND CATEGORY = '인문'
ORDER BY PUBLISHED_DATE;
30. 과일로 만든 아이스크림 고르기
SELECT A.FLAVOR
FROM FIRST_HALF AS A
LEFT JOIN ICECREAM_INFO AS B
ON A.FLAVOR = B.FLAVOR
WHERE A.TOTAL_ORDER > 3000 AND B.INGREDIENT_TYPE LIKE 'fruit_based'
ORDER BY A.TOTAL_ORDER DESC;
31. 중성화 여부 파악하기
SELECT ANIMAL_ID, NAME,
IF(SEX_UPON_INTAKE LIKE '%NEUTERED%' OR SEX_UPON_INTAKE LIKE '%SPAYED%', 'O', 'X')
FROM ANIMAL_INS
ORDER BY ANIMAL_ID ASC;
32. 카테고리 별 상품 개수 구하기
SELECT LEFT(PRODUCT_CODE, 2) AS CATEGORY, COUNT(PRODUCT_ID)
FROM PRODUCT
GROUP BY CATEGORY
ORDER BY CATEGORY ASC;
33. 입양 시각 구하기(1)
SELECT HOUR(DATETIME) AS HOUR, COUNT(DATETIME) AS COUNT
FROM ANIMAL_OUTS
WHERE HOUR(DATETIME) >= 9 AND HOUR(DATETIME)<=19
GROUP BY HOUR
ORDER BY HOUR;
'공부기록 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] K번째 수 (0) | 2023.10.17 |
---|---|
[프로그래머스] 카드 뭉치 (0) | 2023.10.15 |
[프로그래머스] 네트워크 (0) | 2023.09.24 |
[프로그래머스] 예산 (0) | 2023.09.21 |
[프로그래머스] 두 개 뽑아서 더하기 (0) | 2023.09.17 |