5์ . WHERE์
WHERE์ ์ฐ์ฐ์
(SQL ์ฐ์ฐ์)
-BETWEEN A AND B (<-> NOT BETWEEN A AND B)
-IN (list) (<-> NOT IN (list))
-LIKE '๋น๊ต๋ฌธ์์ด'
-IS NULL (<-> IS NOT NULL)
WHERE ์กฐ๊ฑด
- CHAR ๋ณ์๋ VARCHAR2 ๊ฐ์ ๋ฌธ์ํ ํ์ ์ ๊ฐ์ง ์นผ๋ผ์ ์ธ์ฉ๋ถํธ(์์ ๋ฐ์ดํ, ํฐ ๋ฐ์ดํ)๋ก ๋ฌถ์ด์ ๋น๊ต
- LIKE
EX) SELECT PLAYER_NAME ์ ์์ด๋ฆ , POSITION ํฌ์ง์
, BACK_NO ๋ฐฑ๋๋ฒ , HEIGHT ํค
FROM PLAYER
WHERE PLAYER_NAME LIKE '์ฅ%';
% : 0๊ฐ์ด์์ ๋ฌธ์
_ : 1๊ฐ์ด์์ ๋จ์ผ ๋ฌธ์
- NULL : ์์ง ์ ์๋์ง ์์ ๋ฏธ์ง์ ๊ฐ, '', 0 ๊ณผ๋ ๋ค๋ฅธ ๊ฐ
NULL๊ฐ์ ๋น๊ต ์ฐ์ฐ์ IS NULL ๋๋ IS NOT NULL์ด๋ผ๋ ์ ํด์ง ๋ฌธ๊ตฌ๋ฅผ ์ฌ์ฉํด์ผ ํจ
- ROWNUM (ORACLE) : ํ ์ด๋ธ์ด๋ ์งํฉ์์ ์ํ๋ ๋งํผ์ ํ๋ง ๊ฐ์ ธ์ค๊ณ ์ถ์ ๋ WHERE์ ์์ ์ฌ์ฉ
- TOP(SQL server) : TOP์ ์ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ์งํฉ์ผ๋ก ์ถ๋ ฅ๋๋ ํ ์๋ฅผ ์ ํํ ์ ์๋ค.
6์ . FUNCTION
- ์ผ๋ฐ์ ์ผ๋ก ํจ์๋ ์ ๋ ฅ๋๋ ๊ฐ์ด ๋ง์๋ ์ถ๋ ฅ์ ํ๋๋ง ๋๋ค๋ M:1 ๊ด๊ณ
- ๋จ์ผ ํ ํจ์์ ๊ฒฝ์ฐ ๊ฐ ํ๋ค์ ๋ํด ๊ฐ๋ณ์ ์ผ๋ก ์์ฉํ์ฌ ๋ฐ์ดํฐ ๊ฐ๋ค์ ์กฐ์ํ๊ณ , ๊ฐ๊ฐ์ ํ์ ๋ํ ์กฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํดํ๋ค.
- ๋จ์ผ ํ ํจ์์ ๊ฒฝ์ฐ SELECT, WHERE, ORDER BY์ ์์ ์ฌ์ฉ ๊ฐ๋ฅ
- ํจ์์ ์ธ์๋ก ํจ์๋ฅผ ์ฌ์ฉํ๋ ํจ์์ ์ค์ฒฉ์ด ๊ฐ๋ฅ
๋จ์ผ ํ ํจ์ ๋ถ๋ฅ
- ๋ฌธ์ํ (LOWER, UPPER, CONCAT, SUBSTR,SUBSTRING LENTH,LEN..)
- ์ซ์ํ (ABS, MOD, ROUND, TRUNC, ..)
- ๋ ์งํ (SYSDATE,GETDATE,EXTRACT,TO_NUMBER..)
- ๋ณํํ (TO_CHAR, TO_NUMBER, TO_DATE..)
* ๋ช ์์ ๋ณํ/ ์์์ ๋ณํ ๋ฐฉ์์ด ์๋๋ฐ ์์์ ์ ํ ๋ณํ์ ๊ฒฝ์ฐ ์ธ๋ฑ์ค ๋ฏธ์ฌ์ฉ์ผ๋ก ์ธํ ์ฑ๋ฅ ์ ํ ๋ฐ์๊ฐ๋ฅ
- NULL ๊ด๋ จ ํจ์ (NVL, IS NULL, NULL IF, COALESCE)
+) ๋ ์งํ ํจ์ ์ฐ์ฐ
๋ ์ง + ๋ ์ง = error
๋ ์ง - ๋ ์ง = ๋ ์ง ์
๋ ์ง + ์ซ์ = ๋ ์ง
๋ ์ง - ์ซ์ = ๋ ์ง
1์ผ->1
1์๊ฐ->1/24
1๋ถ->1/24/60
1์ด->1/24/60/60
CASE ํํ
- ํจ์์ ์ฑ์ง ๊ฐ์ง
- CASE ํํ์ IF-THEN-ELSE ๋ ผ๋ฆฌ์ ์ ์ฌํ ๋ฐฉ์
1) SIMPLE_CASE_EXPRESSION
- CASE ๋ค์์ ๋ฐ๋ก ์กฐ๊ฑด์ ์ฌ์ฉ๋๋ ์นผ๋ผ์ด๋ ํํ์ ํ์
- ์์)
2) SEARCHED_CASE_EXPRESSION
- CASE ๋ค์์๋ ์นผ๋ผ์ด๋ ํํ์์ ํ์ํ์ง ์๊ณ , WHEN์ ์๋ >,>=,=,<,<=์ ์ด์ฉํ ์กฐ๊ฑด์ ์
์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ SIMPLE CASE EXPRESSION๋ณด๋ค ํจ์ฌ ๋ค์ํ ์กฐ๊ฑด ์ ์ฉ ๊ฐ๋ฅ
3) CASE ์ค์ฒฉ
- ๋ค๋ฅธ ํจ์๋ค์ฒ๋ผ ์ค์ฒฉ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅ
NULL
- NULL ๊ฐ์ ์์ง ์ ์๋์ง ์์ ๊ฐ์ผ๋ก 0๋๋ ๊ณต๋ฐฑ๊ณผ ๋ค๋ฅด๋ค.
- NULL๊ฐ๊ณผ์ ์ฐ์ฐ์ NULL๊ฐ์ ๋ฆฌํดํ๋ค.
- ORACLE์ NULL๊ฐ๊ณผ ๊ณต๋ฐฑ๊ฐ''์ ๊ฐ์ ๊ฐ์ผ๋ก ์ทจ๊ธํ์ง๋ง SQL server๋ ๋ค๋ฅด๊ฒ ์ทจ๊ธ
- NVL/ ISNULL (ํํ์1,ํํ์2)
ํํ์1์ ๊ฒฐ๊ณผ๊ฐ์ด NULL์ด๋ฉด ํํ์2์ ๊ฐ์ ์ถ๋ ฅํ๋ค.
ํํ์1๊ณผ ํํ์2์ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ํ์ ์ด ๊ฐ์์ผ ํจ
์กฐ๊ฑด์ ์์ NULL๊ฐ์ธ์ง ๋น๊ตํ ๋๋ ๋ฐ๋์ ์์ ๊ฐ์ ์ ํด์ง ํ์ ๋ฐ๋ฅด๊ธฐ.
( != NULL๊ณผ ๊ฐ์ด ์ฌ์ฉํ ๊ฒฝ์ฐ ์๋ฌ๋ ์๋์ง๋ง ๊ฒฐ๊ณผ๊ฐ ์๋์ด)
- NULLIF (ํํ์1,ํํ์2)
ํํ์ 2๊ฐ๊ฐ ๊ฐ์ผ๋ฉด NULL , ์๋๋ฉด ํํ์1 ๋ฆฌํด
- COALESCE (ํํ์1, ํํ์2)
๋ชจ๋ ํํ์์ด NULL์ด๋ฉด NULL ๋ฆฌํด , ์๋๋ฉด NULL์ด ์๋ ๊ฐ(ํํ์1,2์์๋ก) ๋ฆฌํด
- NULL๊ณผ ๊ณต์งํฉ
์กฐ๊ฑด์ ๋ง๋ ๋ฐ์ดํฐ๊ฐ ํ๊ฑด๋ ์๋ ๊ฒฝ์ฐ๋ฅผ ๊ณต์งํฉ์ด๋ผ๊ณ ํ๋ฉฐ, ์กฐํ๋ ๋ฐ์ดํฐ๊ฐ NULL์ธ ๊ฒ๊ณผ๋ ๋ค๋ฅธ ๊ฒ์ด๋ค.
๊ณต์งํฉ ์ถ๋ ฅ์ ์ํด์๋ ์ง๊ณํจ์์ NVL์ ๊ฐ์ด ์ฌ์ฉํด์ ์ฒ๋ฆฌํ๋ค.
ex) NVL(MAX(์ธ์))
์ถ์ฒ : SQL ์ ๋ฌธ๊ฐ ๊ฐ์ด๋
'SQLD' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ณผ๋ชฉII SQL ๊ธฐ๋ณธ ๋ฐ ํ์ฉ 1์ฅ - 8์ /9์ ORDER BY, JOIN (0) | 2021.05.21 |
---|---|
๊ณผ๋ชฉII SQL ๊ธฐ๋ณธ ๋ฐ ํ์ฉ 1์ฅ - 7์ GROUP BY, HAVING ์ (0) | 2021.05.21 |
๊ณผ๋ชฉII SQL ๊ธฐ๋ณธ ๋ฐ ํ์ฉ 1์ฅ - 4์ TCL (0) | 2021.05.21 |
๊ณผ๋ชฉII SQL ๊ธฐ๋ณธ ๋ฐ ํ์ฉ 1์ฅ - 3์ DML (0) | 2021.05.21 |
๊ณผ๋ชฉII SQL ๊ธฐ๋ณธ ๋ฐ ํ์ฉ 1์ฅ - 2์ DDL (0) | 2021.05.19 |