*Oracle ๊ธฐ์ค์ผ๋ก ์ ๋ต๋ฅ ๋์ ์์ผ๋ก 24๋ฌธ์ ์ค ์์ 12๋ฌธ์ ๋ง
1. ์ํ ๋๋ฌผ ์ฐพ๊ธฐ ( https://school.programmers.co.kr/learn/courses/30/lessons/59036 )
๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ ์ค ์ํ ๋๋ฌผ1์ ์์ด๋์ ์ด๋ฆ์ ์กฐํํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ๊ฒฐ๊ณผ๋ ์์ด๋ ์์ผ๋ก ์กฐํํด์ฃผ์ธ์.
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION = 'Sick';
2. ์ญ์ ์ ๋ ฌํ๊ธฐ ( https://school.programmers.co.kr/learn/courses/30/lessons/59035 )
๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋ชจ๋ ๋๋ฌผ์ ์ด๋ฆ๊ณผ ๋ณดํธ ์์์ผ์ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ๊ฒฐ๊ณผ๋ ANIMAL_ID ์ญ์์ผ๋ก ๋ณด์ฌ์ฃผ์ธ์.
SELECT NAME, DATETIME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID DESC;
3. ๋๋ฌผ์ ์์ด๋์ ์ด๋ฆ ( https://school.programmers.co.kr/learn/courses/30/lessons/59403 )
๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋ชจ๋ ๋๋ฌผ์ ์์ด๋์ ์ด๋ฆ์ ANIMAL_ID์์ผ๋ก ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID ASC;
4. ์ด๋ฆฐ ๋๋ฌผ ์ฐพ๊ธฐ ( https://school.programmers.co.kr/learn/courses/30/lessons/59037 )
๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ ์ค ์ ์ ๋๋ฌผ์ ์์ด๋์ ์ด๋ฆ์ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด ๋ ๊ฒฐ๊ณผ๋ ์์ด๋ ์์ผ๋ก ์กฐํํด์ฃผ์ธ์.
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION!='Aged';
5. ์ฌ๋ฌ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๊ธฐ ( https://school.programmers.co.kr/learn/courses/30/lessons/59404 )
๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋ชจ๋ ๋๋ฌผ์ ์์ด๋์ ์ด๋ฆ, ๋ณดํธ ์์์ผ์ ์ด๋ฆ ์์ผ๋ก ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ๋จ, ์ด๋ฆ์ด ๊ฐ์ ๋๋ฌผ ์ค์์๋ ๋ณดํธ๋ฅผ ๋์ค์ ์์ํ ๋๋ฌผ์ ๋จผ์ ๋ณด์ฌ์ค์ผ ํฉ๋๋ค.
SELECT ANIMAL_ID, NAME, DATETIME
FROM ANIMAL_INS
ORDER BY NAME ASC, DATETIME DESC;
6. ์์ n๊ฐ ๋ ์ฝ๋( https://school.programmers.co.kr/learn/courses/30/lessons/59405 )
๋๋ฌผ ๋ณดํธ์์ ๊ฐ์ฅ ๋จผ์ ๋ค์ด์จ ๋๋ฌผ์ ์ด๋ฆ์ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
SELECT NAME
FROM ANIMAL_INS
WHERE DATETIME = (
SELECT MIN(DATETIME)
FROM ANIMAL_INS
);
7. ์ด๋ฆ์ด ์๋ ๋๋ฌผ์ ์์ด๋ ( https://school.programmers.co.kr/learn/courses/30/lessons/59407 )
๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ ์ค, ์ด๋ฆ์ด ์๋ ๋๋ฌผ์ ID๋ฅผ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ๋จ ID๋ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ๋์ด์ผ ํฉ๋๋ค.
SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
ORDER BY ANIMAL_IS ASC;
8. ๊ฐ์๋์ ์์นํ ์์ฐ๊ณต์ฅ ๋ชฉ๋ก ์ถ๋ ฅํ๊ธฐ ( https://school.programmers.co.kr/learn/courses/30/lessons/131112 )
FOOD_FACTORY ํ ์ด๋ธ์์ ๊ฐ์๋์ ์์นํ ์ํ๊ณต์ฅ์ ๊ณต์ฅ ID, ๊ณต์ฅ ์ด๋ฆ, ์ฃผ์๋ฅผ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ๊ฒฐ๊ณผ๋ ๊ณต์ฅ ID๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
SELECT FACTORY_ID, FACTORY_NAME, ADDRESS
FROM FOOD_FACTORY
WHERE ADDRESS LIKE '๊ฐ์๋%'
ORDER BY FACTORY_ID;
9. ๋์ด ์ ๋ณด๊ฐ ์๋ ํ์ ์ ๊ตฌํ๊ธฐ ( https://school.programmers.co.kr/learn/courses/30/lessons/131528 )
USER_INFO ํ ์ด๋ธ์์ ๋์ด ์ ๋ณด๊ฐ ์๋ ํ์์ด ๋ช ๋ช ์ธ์ง ์ถ๋ ฅํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ์ปฌ๋ผ๋ช ์ USERS๋ก ์ง์ ํด์ฃผ์ธ์.
SELECT COUNT(*) AS USERS
FROM USER_INFO
WHERE AGE IS NULL;
- COUNT(*)์ด๋ COUNT(USER_ID)๋ก ํด๋ ๋๋ค. (USER_ID๋ ๊ณ ์ ํ ๊ฐ์ด๊ธฐ ๋๋ฌธ์ * ์ ๊ฐ์๋ ๋๊ฐ๊ธฐ ๋๋ฌธ.)
- AS๋ ์ปฌ๋ผ ๋ช ์ ์ง์ ํ ๋ ์ฌ์ฉํ๋ค.
10. ๊ฒฝ๊ธฐ๋์ ์์นํ ์ํ์ฐฝ๊ณ ๋ชฉ๋ก ์ถ๋ ฅํ๊ธฐ ( https://school.programmers.co.kr/learn/courses/30/lessons/131114 )
FOOD_WAREHOUSE ํ ์ด๋ธ์์ ๊ฒฝ๊ธฐ๋์ ์์นํ ์ฐฝ๊ณ ์ ID, ์ด๋ฆ, ์ฃผ์, ๋๋์์ค ์ฌ๋ถ๋ฅผ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ๋๋์์ค ์ฌ๋ถ๊ฐ NULL์ธ ๊ฒฝ์ฐ, 'N'์ผ๋ก ์ถ๋ ฅ์์ผ ์ฃผ์๊ณ ๊ฒฐ๊ณผ๋ ์ฐฝ๊ณ ID๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IFNULL(FREEZER_YN, 'N')
FROM FOOD_WAREHOUSE
WHERE ADDRESS LIKE '๊ฒฝ๊ธฐ๋%'
ORDER BY WAREHOUSE_ID ASC;
- IFNULL ํจ์๋ฅผ NVL ํจ์๋ฅผ ์ด์ฉํด ํํํ ์๋ ์๋ค.
SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, NVL(FREEZER_YN, 'N')AS FREEZER_YN
FROM FOOD_WAREHOUSE
WHERE ADDRESS LIKE '๊ฒฝ๊ธฐ๋%'
ORDER BY WAREHOUSE_ID ASC;
- CASE WHEN THEN ๋ฌธ์ผ๋ก๋ ๋ฐ๊ฟ ์ธ ์ ์๋ค.
SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS,
CASE
WHEN FREEZER_YN IS NULL
THEN 'N'
ELSE FREEZER_YN
END AS FREEZER_YN
FROM FOOD_WAREHOUSE
WHERE ADDRESS LIKE '๊ฒฝ๊ธฐ๋%'
ORDER BY WAREHOUSE_ID ASC;
11. ๊ฐ์ฅ ๋น์ผ ์ํ ๊ตฌํ๊ธฐ ( https://school.programmers.co.kr/learn/courses/30/lessons/131697 )
PRODUCT ํ ์ด๋ธ์์ ํ๋งค ์ค์ธ ์ํ ์ค ๊ฐ์ฅ ๋์ ํ๋งค๊ฐ๋ฅผ ์ถ๋ ฅํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ์ปฌ๋ผ๋ช ์ MAX_PRICE๋ก ์ง์ ํด์ฃผ์ธ์.
SELECT MAX(PRICE)AS MAX_PRICE
FROM PRODUCT;
12. ์ด๋ฆ์ด ์๋ ๋๋ฌผ์ ์์ด๋ ( https://school.programmers.co.kr/learn/courses/30/lessons/59039 )
๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ ์ค, ์ด๋ฆ์ด ์๋ ์ฑ๋ก ๋ค์ด์จ ๋๋ฌผ์ ID๋ฅผ ์กฐํํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ๋จ, ID๋ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ๋์ด์ผ ํฉ๋๋ค.
SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NULL
ORDER BY ANIMAL_ID ASC;
'๋ฐ์ดํฐ๋ฒ ์ด์ค, SQL > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| ํ๋ก๊ทธ๋๋จธ์ค SQL๋ฌธ LV. 3 (2) (2) | 2023.06.29 |
|---|---|
| ํ๋ก๊ทธ๋๋จธ์ค SQL๋ฌธ LV. 3 (1) (0) | 2023.06.29 |
| ํ๋ก๊ทธ๋๋จธ์ค SQL๋ฌธ LV. 2 (2) (0) | 2023.06.28 |
| ํ๋ก๊ทธ๋๋จธ์ค SQL๋ฌธ LV. 2 (1) (0) | 2023.06.28 |
| ํ๋ก๊ทธ๋๋จธ์ค SQL๋ฌธ LV. 1 (2) (0) | 2023.06.28 |