์ค๋ฌด์์ SQL์ ์ฌ์ฉํ ์ผ์ด ๋ง์๋ฐ ์ฃผ๊ธฐ์ ์ผ๋ก ์ฌ์ฉํ์ง ์์ผ๋ ์๊พธ ๊น๋จน๊ฒ ๋๋๋ผ๊ตฌ์
๊ทธ๋์ SQL ์ฝ๋ฉํ ์คํธ ๋ฌธ์ ๋ฅผ ํ์ด๋ณด๋ฉฐ ๊ฐ์ ์ก์ผ๋ ค๊ณ ํฉ๋๋ค!
๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ Level1๋ฌธ์ ๋ฅผ ๊ฐ์ ธ์ ํ์ด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค!
๊ธฐ๋ณธ์ ์ธ SQL๋ฌธ ์์
SELECT --์ปฌ๋ผ๋ช
FROM --ํ ์ด๋ธ๋ช
WHERE --ํ ์ด๋ธ ์กฐ๊ฑด
GROUP BY --์ปฌ๋ผ๋ช
HAVING --๊ทธ๋ฃน ์กฐ๊ฑด
ORDER BY --์ปฌ๋ผ๋ช
1. SELECT
https://programmers.co.kr/learn/courses/30/lessons/59034
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ชจ๋ ๋ ์ฝ๋ ์กฐํํ๊ธฐ
ANIMAL_INS ํ ์ด๋ธ์ ๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ์ ์ ๋ณด๋ฅผ ๋ด์ ํ ์ด๋ธ์ ๋๋ค. ANIMAL_INS ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋ ๊ฐ๊ฐ ๋๋ฌผ์ ์์ด๋
programmers.co.kr
๋ฌธ์ 1
ANIMAL_INS ํ ์ด๋ธ์ ๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ์ ์ ๋ณด๋ฅผ ๋ด์ ํ ์ด๋ธ์ ๋๋ค. ANIMAL_INS ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋ ๊ฐ๊ฐ ๋๋ฌผ์ ์์ด๋, ์๋ฌผ ์ข , ๋ณดํธ ์์์ผ, ๋ณดํธ ์์ ์ ์ํ, ์ด๋ฆ, ์ฑ๋ณ ๋ฐ ์ค์ฑํ ์ฌ๋ถ๋ฅผ ๋ํ๋ ๋๋ค.
๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋ชจ๋ ๋๋ฌผ์ ์ ๋ณด๋ฅผ ANIMAL_ID์์ผ๋ก ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
๋ฌธ์ 1 ํ์ด
SELECT *
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
๋ฌธ์ 2
๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋ชจ๋ ๋๋ฌผ์ ์ด๋ฆ(NAME)๊ณผ ๋ณดํธ ์์์ผ(DATETIME)์ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ๊ฒฐ๊ณผ๋ ANIMAL_ID ์ญ์์ผ๋ก ๋ณด์ฌ์ฃผ์ธ์.
๋ฌธ์ 2 ํ์ด
์ญ์ : DESC(๋ด๋ฆผ์ฐจ์)
๋ํดํธ๊ฐ์ด ASC(์ค๋ฆ์ฐจ์)
SELECT NAME, DATETIME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID DESC;
๋ฌธ์ 3
๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ ์ค ์ํ ๋๋ฌผ์ ์์ด๋(ANIMAL_ID)์ ์ด๋ฆ(NAME)์ ์กฐํํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ๊ฒฐ๊ณผ๋ ์์ด๋ ์์ผ๋ก ์กฐํํด์ฃผ์ธ์.
๋ฌธ์ 3 ํ์ด
=> INTAKE_CONDITION์ด Sick์ธ ๋๋ฌผ
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION = "Sick"
ORDER BY ANIMAL_ID;
* MySQL์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋์๋ฌธ์ ๊ตฌ๋ถ์ด ์์ด SICK๋ก ๊ฒ์ํด๋ ๋จ!
๋ฌธ์ 4
๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ ์ค ์ ์ ๋๋ฌผ์ ์์ด๋(ANIMAL_ID)์ ์ด๋ฆ(NAME)์ ์กฐํํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ๊ฒฐ๊ณผ๋ ์์ด๋(ANIMAL_ID) ์์ผ๋ก ์กฐํํด์ฃผ์ธ์.
๋ฌธ์ 4 ํ์ด
=> ์ ์ ๋๋ฌผ์ด๋ INTAKE_CONDITION์ด Aged๊ฐ ์๋ ๋๋ฌผ!
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION <> "Aged"
ORDER BY ANIMAL_ID;
๋ฌธ์ 5
๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋ชจ๋ ๋๋ฌผ์ ์์ด๋(ANIMAL_ID)์ ์ด๋ฆ(NAME), ๋ณดํธ ์์์ผ(DATETIME)์
์ด๋ฆ ์(NAME)์ผ๋ก ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ๋จ, ์ด๋ฆ์ด ๊ฐ์ ๋๋ฌผ ์ค์์๋ ๋ณดํธ๋ฅผ ๋์ค์ ์์ํ ๋๋ฌผ์ ๋จผ์ (DATETIME) ๋ณด์ฌ์ค์ผ ํฉ๋๋ค.
<๋ฌธ์ 5 ํ์ด>
SELECT ANIMAL_ID, NAME, DATETIME
FROM ANIMAL_INS
ORDER BY NAME ASC, DATETIME DESC;
๋ฌธ์ 6
๋๋ฌผ ๋ณดํธ์์ ๊ฐ์ฅ ๋จผ์ ๋ค์ด์จ ๋๋ฌผ์ ์ด๋ฆ(NAME)์ ์กฐํํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
๋ฌธ์ 6 ํ์ด
=> ๊ฐ์ฅ ๋จผ์ ๋ค์ด์จ ๋๋ฌผ ํ๋ช : LIMIT 1
=> MySQL์์๋ LIMIT, MSSQL์์๋ TOP์ ์ฌ์ฉ
SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 1;
์ ๋ MSSQL๋ง ์ฌ์ฉํด๋ณด์๋๋ฐ MySQL๋ ๊ฑฐ์ ๋์ผํด์ ๋ฌธ์ ํ๊ธฐ ์์ํ๋ ๊ฒ ๊ฐ์์!
๊ณ ๋ผ ์ค๋ ํฌ์คํ ๋~_~

'๐ฌ MySQL > ๋ฌธ์ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[MySQL] SQL ์ฝ๋ฉํ ์คํธ Day6 (0) | 2022.02.18 |
---|---|
[MySQL] SQL ์ฝ๋ฉํ ์คํธ Day5 (0) | 2022.02.17 |
[MySQL] SQL ์ฝ๋ฉํ ์คํธ Day4 (0) | 2022.02.16 |
[MySQL] SQL ์ฝ๋ฉํ ์คํธ Day3 (0) | 2022.02.15 |
[MySQL] SQL ์ฝ๋ฉํ ์คํธ Day2 (0) | 2022.02.13 |