Skill Stacks/MySQL
SQL 문제풀이 20230601
by JayAlex07
2023. 6. 1.
SQL 문제풀이 20230601
나이 정보가 없는 회원 수 구하기
회원 정보에서 Age가 NULL, 즉 정보가 없는 회원의 수를 구하는 것이다
- AGE가 NULL인 회원들을 찾고, COUNT(*)를 통해, 회원 수를 구한다
SELECT COUNT(*) AS USERS FROM USER_INFO
WHERE AGE IS NULL
강원도에 위치한 생산공장 목록 출력하기
제목 그대로, 강원도에 위치한 공장을 찾는 것이다
- ADDRESS에 강원도로 주소가 적힌 테이블을 출력한다
- 주소는 '도'만 있는 것이 아닌, 도로명까지 다 작성이 되어있다
- 그래서 LIKE "강원도%" 를 통해, 강원도로 시작하는 주소를 찾는 것이다
SELECT FACTORY_ID, FACTORY_NAME, ADDRESS FROM FOOD_FACTORY
WHERE ADDRESS LIKE "강원도%"
ORDER BY FACTORY_ID ASC
경기도에 위치한 식품창고 목록 출력하기
경기도가 주소인 식품 창고를 출력하는 것
- IFNULL(FREEZER_YN, "N") : 값이 NULL 일 때에, "N"으로 채워주는 것이다
SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IFNULL(FREEZER_YN, "N") AS FREEZER_YN
FROM FOOD_WAREHOUSE
WHERE ADDRESS LIKE '경기도%'
ORDER BY WAREHOUSE_ID ASC
가장 비싼 상품 구하기
최대값을 구하는 것이다
- MAX() : 최대값
- MIN() : 최소값
- AVG() : 평균값
- SUM() : 모두 더하기
SELECT MAX(PRICE) AS MAX_PRICE FROM PRODUCT
조건에 맞는 회원수 구하기
2021년에 가입하고 20살~29살인 회원의 수를 구하는 것
Between 활용
SELECT COUNT(*) AS USERS FROM USER_INFO
WHERE AGE BETWEEN 20 AND 29 AND JOINED BETWEEN "2021-01-01" AND "2021-12-31"
LIKE 활용
SELECT COUNT(*) AS USERS FROM USER_INFO
WHERE AGE LIKE "2%" AND JOINED LIKE "2021%"