DQL(Data Query Language)
๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ Select ๊ตฌ๋ฌธ
1. ๊ธฐ๋ณธ์ ์ธ Select ๊ตฌ๋ฌธ์ ๊ตฌ์ฑ
- SELECT ์กฐํํ ๋ฐ์ดํฐ์ ์ปฌ๋ผ1,
์กฐํํ ๋ฐ์ดํฐ์ ์ปฌ๋ผ2,
์กฐํํ ๋ฐ์ดํฐ์ ์ปฌ๋ผ3,
์กฐํํ ๋ฐ์ดํฐ์ ์ปฌ๋ผ4
FROM ํ ์ด๋ธ๋ช ;
- ํด๋น ํ ์ด๋ธ์์ ์ปฌ๋ผ1, ์ปฌ๋ผ2, ์ปฌ๋ผ3, ์ปฌ๋ผ4์ ํด๋นํ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํด๋ผ.
- ์กฐํ์ฟผ๋ฆฌ๋ ๋ฐ์ดํฐ์ ์ถ๊ฐ, ์ญ์ , ์์ ์ด ์ผ์ด๋์ง ์๊ธฐ ๋๋ฌธ์ ์ปค๋ฐ์ด๋ ๋กค๋ฐฑ์ ์ฌ์ฉ์ด ๋ถํ์.
- SELECT ๋ค์ ์ปฌ๋ผ๋ช ๋์ *๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ํด๋น ํ ์ด๋ธ์ ๋ชจ๋ ์ปฌ๋ผ์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ค.
2. ์กฐํํ๋ ์ปฌ๋ผ์ด๋ ํ ์ด๋ธ์ ๋ณ์นญ์ ๋ถ์ด๊ธฐ
- SELECT ์กฐํํ๋ ์ปฌ๋ผ AS(์๋ต๊ฐ๋ฅ) ๋ถ์ผ๋ณ์นญ : ์ปฌ๋ผ๋ช ๋์ ๋ณ์นญ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์จ๋ค. ์กฐํํ๋ฉด ์๋ก์ด ํ ์ด๋ธ์ ๋ง๋ค์ด์ฃผ๋๋ฐ ์๋ก์ด ํ ์ด๋ธ์ ์ปฌ๋ผ๋ช ์ด ๋ณ์นญ์ผ๋ก ์กํ๋ค.
- FROM ์กฐํํ๋ ํ ์ด๋ธ ๋ถ์ผ๋ณ์นญ : SELECT ํด์ฌ ์ปฌ๋ผ๋ค์ ์ด๋ค ํ ์ด๋ธ์์ ๊ฐ์ ธ์ค๋์ง ์ง์นญํ ์ ์๋ค. ๋ณ์นญ.์ปฌ๋ผ๋ช ์ผ๋ก SELECT ๊ตฌ๋ฌธ์ ๊ตฌ์ฑํ ์ ์๋ค.
3. ๋ฐ์ดํฐ๊ฐ NULL๊ฐ์ผ ๋ ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๋ NVL(MySQL -> IFNULL)
- SELECT NVL(์กฐํํ ์ปฌ๋ผ, ์กฐํํ ์ปฌ๋ผ์ ๋ฐ์ดํฐ๊ฐ null์ธ ๊ฒฝ์ฐ ์ฒ๋ฆฌ๋ฐฉ์) : ์ปฌ๋ผ์ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ์กฐํํด์ ๊ฐ์ด NULL์ธ ๋ฐ์ดํฐ๋ง ์ฒ๋ฆฌ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํด์ค๋ค.
ex) SELECT NVL(SNO, '-')
FROM STUDENT;
4. ๋ฌธ์์ด์ ์ฐ๊ฒฐํด์ฃผ๋ ์ฐ๊ฒฐ์ฐ์ฐ์ ||(MySQL -> CONCAT(๋ฌธ์์ด1, ๋ฌธ์์ด2))
- ์ฌ๋ฌ๊ฐ์ ์ปฌ๋ผ์ ํ๋์ ์ปฌ๋ผ์ผ๋ก ๋ฌถ์ด์ ํ์ถํ๊ณ ์ถ์ ๋ ์ฐ๊ฒฐ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ค.
- ์ฐ๊ฒฐํ ์ปฌ๋ผ1 || ์ฐ๊ฒฐํ ์ปฌ๋ผ2
5. ์ค๋ณต์ ๊ฑฐ์ DISTINCT
- DISTINCT ์ปฌ๋ผ๋ช : ํด๋น ์ปฌ๋ผ์ ์ค๋ณต๋ ๋ฐ์ดํฐ๊ฐ ์์ผ๋ฉด ์ค๋ณต์ ์ ๊ฑฐํ๋ค.
- SELECT ๊ตฌ๋ฌธ๊ณผ ํจ๊ป ์ฌ์ฉํ์ฌ ์ค๋ณต๋ ๋ฐ์ดํฐ๊ฐ ๋ช๊ฐ๋ ์ง ์๊ด์์ด ํ๋์ ๋ฐ์ดํฐ๋ง ํ์ถ.
6. ์ง์ ํ ์ปฌ๋ผ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํด์ฃผ๋ ORDER BY
- WHERE์ ๋ค์์ด๋ GROUP BY์ ๋ค์์ ์ฌ์ฉํ๋ค.
- ORDER BY ์ปฌ๋ผ๋ช ASC or DESC
- ASC๋ DESC๋ฅผ ์๋ตํ๋ฉด ์๋์ผ๋ก ASC๋ก ์ธ์
- ASC : ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ(์์ ๊ฐ -> ํฐ ๊ฐ)
- DESC : ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ(ํฐ ๊ฐ -> ์์ ๊ฐ)
7. ์กฐ๊ฑด์ ๊ฑธ์ด์ ์ํ๋ ๋ฐ์ดํฐ๋ง ์ถ์ถํ๋ WHERE์
- FROM ํ ์ด๋ธ ๋ค์ WHERE ์กฐํ์กฐ๊ฑด;
- ์กฐํ์กฐ๊ฑด์ผ๋ก๋ ๊ฐ์ ํฌ๊ธฐ๋ฅผ ๋น๊ต, ๊ฐ์ด ๋์ผํ์ง, ๊ฐ์ ๋ ์ง ๋ฐ์ดํฐ์ธ์ง, ๋ฌธ์์ด์ด ์ฃผ์ด์ง ๋ฌธ์์ด์ ํฌํจํ๋์ง ... ์กฐ๊ฑด์ ์ค์ ์๋ค.
- ๊ฐ์ ํฌ๊ธฐ ๋น๊ต๋ ์๋ฐ์์์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ถ๋ฑํธ๋ฅผ ์ฌ์ฉํด์ ๋น๊ตํ๋ค.(>, >=, <=, <)
- ๊ฐ์ ๋์ผ์ฌ๋ถ ๋น๊ต๋ =, !=๋ก ๋น๊ตํ๋ค.
- LIKE๋ฅผ ์ด์ฉํด์ ๋ฌธ์์ด ํฌํจ์ฌ๋ถ๋ฅผ ๊ฒ์ฌํ๊ฒ ๋๋๋ฐ %๋ฅผ ์ด์ฉํด์ ๋ง์ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์๋ค.
- - LIKE '๋ฌธ์์ด' : ๋ฌธ์์ด๊ณผ ๊ฐ์์ง ๋น๊ต
- - LIKE '%๋ฌธ์์ด' : ๋ฌธ์์ด๋ก ๋๋๋์ง ๋น๊ต
- - LIKE '๋ฌธ์์ด%' : ๋ฌธ์์ด๋ก ์์ํ๋์ง ๋น๊ต
- - LIKE '%๋ฌธ์์ด%' : ๋ฌธ์์ด์ ํฌํจํ๋์ง ๋น๊ต
- - LIKE '๊น_' : ๊น์ผ๋ก ์์ํ๋ ๋๊ธ์ ๋ฌธ์์ด ๊ฒ์
- - LIKE '_๊น' : ๊น์ผ๋ก ๋๋๋ ๋๊ธ์ ๋ฌธ์์ด ๊ฒ์
- - LIKE '_๋_' : ๊ฐ์ด๋ฐ ๊ธ์๊ฐ ๋์ด๋ฉด์ ์ธ๊ธ์์ธ ๋ฌธ์์ด ๊ฒ์
- - LIKE '___' : ์ธ๊ธ์์ธ ๋ฌธ์์ด์ ๊ฒ์
- NULL ๊ฐ ์ฌ๋ถ๋ฅผ ๋น๊ตํ ๋๋ IS NULL, IS NOT NULL์ ์ฌ์ฉํ๋ค.
8. ๋ค์ค ์กฐ๊ฑด์ ๋ง๋ค์ด์ฃผ๋ AND, OR ์
- WHERE ์กฐํ์กฐ๊ฑด1
AND ์กฐํ์กฐ๊ฑด2
AND ์กฐํ์กฐ๊ฑด3
...;
WHERE์ ๋ถํฐ ๋ง์ง๋ง AND์ ๊น์ง์ ์กฐ๊ฑด์ ๋ชจ๋ ์ถฉ์กฑํ๋ ๋ฐ์ดํฐ๋ง ์กฐํ.
WHERE ์กฐํ์กฐ๊ฑด1
OR ์กฐํ์กฐ๊ฑด2
OR ์กฐํ์กฐ๊ฑด3
...;
WHERE์ ๋ถํฐ ๋ง์ง๋ง OR์ ๊น์ง์ ์กฐ๊ฑด ์ค์ ํ๋๋ผ๋ ์ถฉ์กฑํ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํ.
'Oracle > sql' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๐ sql ๋ฌธ๋ฒ์ ๊ณต๋ถํ์ ๐] ์๋ธ์ฟผ๋ฆฌ๋? (0) | 2023.04.20 |
---|---|
[๐ sql ๋ฌธ๋ฒ์ ๊ณต๋ถํ์ ๐] JOIN(INNER ,LEFT, RIGHT, FULL, NATURAL... (0) | 2023.04.18 |
[๐ sql ๋ฌธ๋ฒ์ ๊ณต๋ถํ์ ๐] WHERE ์ด๋? (0) | 2023.04.18 |
[๐ sql ๋ฌธ๋ฒ์ ๊ณต๋ถํ์ ๐] ROUND, TRUNC, CEIL, FLOOR (0) | 2023.04.16 |
SQL์ด๋? (0) | 2023.04.11 |