WHERE ์
WHERE์ ์ SELECT๋ฌธ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ๋ ํน์ ์กฐ๊ฑด์ ๊ธฐ์ค์ผ๋ก ์ํ๋ ํ์ ์ถ๋ ฅํ๋๋ฐ ์ฌ์ฉํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ฌ๋ฌ ์ฐ์ฐ์๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ฉด ๋์ฑ ์ธ๋ฐํ๊ฒ ๋ฐ์ดํฐ ๊ฒ์์ ํ ์ ์๋ค.
์ฐ์ ์ฌ์ฉ ์์๋ฅผ ํ๋ฒ ๋ณด๊ณ ๋ ํ ๊ณต๋ถ๋ฅผ ์์ํด๋ณด์.
์์ : ๋ถ์ ๋ฒํธ๊ฐ 30์ธ ๋ฐ์ดํฐ๋ง ์ถ๋ ฅํ๊ธฐ
SELECT *
FROM EMP
WHERE DEPTNO = 30;
์์ ์์์ฒ๋ผ WHERE์ ์ ๋ง์ ๋ฐ์ดํฐ๋ค ์ค์์ ์ด๋ค ์กฐ๊ฑด์ ์ผ์นํ๋ ํ๋ง์ ๊ณจ๋ผ๋ด์ด ์กฐํํ๋๋ฐ ์ฌ์ฉํ๋ค.
WHERE์ ์ ์ฌ์ฉํ SELECT๋ฌธ์ ๊ธฐ๋ณธ ํ์์ ๋ค์๊ณผ ๊ฐ๋ค.
SELECT [์กฐํํ ์ด1 ์ด๋ฆ], [์ด2 ์ด๋ฆ], ...
FROM [์กฐํํ ํ ์ด๋ธ ์ด๋ฆ]
WHERE [์กฐํํ ํ์ ์ ๋ณํ๊ธฐ ์ํ ์กฐ๊ฑด์];
ํค์๋ | ํ์ ์์ | ์ค๋ช |
WHERE | ์กฐ๊ฑด์ | ์กฐํ ์กฐ๊ฑด์ ์ง์ |
WHERE์ ์ด ํฌํจ๋ SELECT๋ฌธ์ ์คํํ๋ฉด ์กฐํํ ํ ์ด๋ธ๋ฅด์ด ๊ฐ ํ์ WHERE์ ์ ์กฐ๊ฑด์์ ๋์ ํ์ฌ ๊ฒฐ๊ณผ๊ฐ "์ฐธ"์ธ ๊ฒฝ์ฐ์๋ง ์ถ๋ ฅ๋๋ค.
์ฌ๋ฌ ๊ฐ์ ์กฐ๊ฑด์์ ์ฌ์ฉํ๋ AND, OR ์ฐ์ฐ์
WHERE์ ์๋ ์กฐ๊ฑด์์ ์ฌ๋ฌ ๊ฐ ์ง์ ํ ์ ์๋ค. ์ด๋ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ฐ๋ก ๋ ผ๋ฆฌ ์ฐ์ฐ์ AND์ OR์ด๋ค.
AND ์ฌ์ฉ๋ฒ
SELECT [์กฐํํ ์ด1 ์ด๋ฆ], [์ด2 ์ด๋ฆ], ...
FROM [์กฐํํ ํ ์ด๋ธ ์ด๋ฆ]
WHERE DEPTNO = 30;
AND JOB = 'SALESMAN';
AND๋ ๋์ด๋ ์กฐ๊ฑด์ด ๋ชจ๋ '์ฐธ'์ธ ๊ฒฝ์ฐ์๋ง ์ถ๋ ฅ๋๋ค.
OR ์ฌ์ฉ๋ฒ
SELECT [์กฐํํ ์ด1 ์ด๋ฆ], [์ด2 ์ด๋ฆ], ...
FROM [์กฐํํ ํ ์ด๋ธ ์ด๋ฆ]
WHERE DEPTNO = 30;
ORJOB = 'SALESMAN';
OR์ ๋์ด๋ ์กฐ๊ฑด ์ค ํ๋๋ง '์ฐธ'์ธ ๊ฒฝ์ฐ์๋ ์ถ๋ ฅ๋๋ค.
AND์ OR์ ํผ์ฉ, ์ฐ์ฐ์ ์ฐ์ ์์
AND์ OR์ ์ฐ์ ์์๊ฐ ๊ฐ์ง ์๋ค.
๊ฒฐ๊ณผ๋ฅผ ๋จผ์ ๋งํ์๋ฉด AND๊ฐ OR๋ณด๋ค ์ฐ์ ์์๊ฐ ๋๋ค.
์๋ ์์๋ฅผ ๋ณด์.
SELECT * FROM [sample] WHERE a = 1 OR a =2 AND b =1 OR b = 2;
์์ ์ฟผ๋ฆฌ๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ด ์ฝํ ๊ฒ์ด๋ผ ์ฐฉ๊ฐํ ์ ์๋ค.
SELECT * FROM [sample] WHERE (a = 1 OR a =2) AND (b =1 OR b = 2);
๊ทธ๋ฌ๋ ์ค์ ๋ก๋ AND๊ฐ ์ฐ์ ์์๊ฐ ๋ ๋๊ธฐ์ ์๋์ ๊ฐ์ด ๋๋ค.
SELECT * FROM [sample] WHERE a = 1 OR (a =2 AND b =1) OR b = 2;
AND๋ณด๋ค OR์ ์ฐ์ ์์๋ฅผ ๋ ๋๊ฒ ํด์ฃผ๊ณ ์ถ๋ค๋ฉด ๊ดํธ๋ฅผ ์์์ฃผ๋ฉด ๋๋ค!
์ฐ์ฐ์ ์ข ๋ฅ์ ํ์ฉ ๋ฐฉ๋ฒ
๋ ผ๋ฆฌ ์ฐ์ฐ์ ์ธ์๋ ๋ค๋ฅธ ์ฐ์ฐ์๋ค์ด ๋ง์ด ์๋ค. ์ด์ ๋ถํฐ ์์๋ณด๋๋ก ํ์.
์ฐ์ ์ฐ์ฐ์
๋ํ๊ธฐ, ๋นผ๊ธฐ๊ฐ์ ์์น ์ฐ์ฐ์ ์ฌ์ฉํ๋ค.
๋ํ๊ธฐ๋ +, ๋นผ๊ธฐ๋ -, ๊ณฑํ๊ธฐ๋ *, ๋๋๊ธฐ๋ / ๋ฅผ ์ฌ์ฉํ๋ค.
๋ค์ ์์๋ ๊ธ์ฌ์ 12๋ฅผ ๊ณฑํ ๊ฐ์ด 36000์ธ ํ์ ์ถ๋ ฅํ๋ SQL๋ฌธ์ด๋ค.
SELECT *
FROM EMP
WHERE SAL * 12 = 36000;
๋น๊ต ์ฐ์ฐ์
๋์ ๋น๊ต ์ฐ์ฐ์
๋น๊ต ์ฐ์ฐ์๋ ์ฐ์ฐ์ ์๋ค์ ์๋ ๋ฐ์ดํฐ ๊ฐ์ ๋น๊ตํ๋ ๋ฐ ์ฌ์ฉํ๋ค.
๋ค์ ์์๋ ๊ธ์ฌ๊ฐ 3000์ด์์ธ ์ฌ์์ ์กฐํํ๋ SQL๋ฌธ์ด๋ค.
SELECT *
FROM EMP
WHERE SAL >= 3000;
์ด ์ธ์๋ ์ด๊ณผ, ๋ฏธ๋ง, ์ดํ ์ฌ๋ถ๋ฅผ ๋น๊ตํ๋ ๋์ ๋น๊ต ์ฐ์ฐ์๊ฐ ์๋ค.
์ฐ์ฐ์ | ์ฌ์ฉ๋ฒ | ์ค๋ช |
> | A > B | A ๊ฐ์ด B ๊ฐ์ ์ด๊ณผํ ๊ฒฝ์ฐ true |
>= | A >= B | A ๊ฐ์ด B ๊ฐ ์ด์์ผ ๊ฒฝ์ฐ true |
< | A < B | A ๊ฐ์ด B ๊ฐ ๋ฏธ๋ง์ผ ๊ฒฝ์ฐ true |
<= | A <= B | A ๊ฐ์ด B ๊ฐ ์ดํ์ผ ๊ฒฝ์ฐ true |
๋ฑ๊ฐ ๋น๊ต ์ฐ์ฐ์
์ฐ์ฐ์ ์์ชฝ ํญ๋ชฉ์ด ๊ฐ์ ๊ฐ์ธ์ง ๊ฒ์ฌํ๋ ์ฐ์ฐ์๊ฐ ๋ฐ๋ก ๋ฑ๊ฐ ๋น๊ต ์ฐ์ฐ์์ด๋ค.
์ข ๋ฅ๋ ๋ค์๊ณผ ๊ฐ๋ค.
์ฐ์ฐ์ | ์ฌ์ฉ๋ฒ | ์ค๋ช |
= | A = B | A ๊ฐ์ด B ๊ฐ๊ณผ ๊ฐ์ ๊ฒฝ์ฐ true, ๋ค๋ฅผ ๊ฒฝ์ฐ false ๋ฐํ |
!- | A != B | A ๊ฐ์ด B ๊ฐ๊ณผ ๋ค๋ฅธ ๊ฒฝ์ฐ true, ๊ฐ์ ๊ฒฝ์ฐ false ๋ฐํ |
<> | A <> B | |
^= | A ^= B |
๋ ผ๋ฆฌ ๋ถ์ ์ฐ์ฐ์(NOT)
๋ ผ๋ฆฌ ๋ถ์ ์ฐ์ฐ์๋ ๋น๊ต ์ฐ์ฐ์๋ ์๋๋ค.
๋ ผ๋ฆฌ ๋ถ์ ์ฐ์ฐ์๋ ๊ฐ์ ๋ฐ์ ์ํจ๋ค.
๋ง์ฝ A์ ๊ฐ์ด true์ผ ๊ฒฝ์ฐ ๋ ผ๋ฆฌ ๋ถ์ ์ฐ์ฐ์์ ๊ฒฐ๊ณผ ๊ฐ์ false๊ฐ ๋๋ค.
๋ฐ๋๋ก false์ธ ๊ฒฝ์ฐ์ ๋ ผ๋ฆฌ ๋ถ์ ์ฐ์ฐ์์ ๊ฒฐ๊ณผ ๊ฐ์ true๊ฐ ๋๋ค.
์๋ ์์๋ ๊ธ์ฌ๊ฐ 3000์์ด ์๋ ์ง์์ ์ถ๋ ฅํ๋ SQL๋ฌธ์ด๋ค.
SELECT *
FROM EMP
WHERE NOT SAL = 3000;
NOT์ ๋ณดํต IN, BETWEEN, IS NULL ์ฐ์ฐ์์ ํจ๊ป ๋ณตํฉ์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
IN ์ฐ์ฐ์
= ๊ธฐํธ๋ WHERE ์กฐ๊ฑด์์์ ํน์ ์ด ๋ฐ์ดํฐ ๊ฐ๋ง์ ์กฐํํ๊ณ ์ ํ ๋ ์ฌ์ฉํ๋ค.
์ฐ๋ฆฌ๋ =๋ฅผ ์ฌ์ฉํ์ฌ ๊ธ์ฌ๊ฐ 3000์์ธ ์ฌ์, ์ง์ฑ ์ด CLERK์ธ ์ฌ์, ๋ถ์ ๋ฒํธ๊ฐ 30์ธ ์ฌ์ ๋ฑ์ ์กฐํํ ์ ์๋ค.
๋ง์ฝ ์ง๊ธ๊น์ง ํ์ตํ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ฑ ์ด SALESMAN์ด๊ฑฐ๋ MANAGER ํน์ CLERK ์ค ํ๋์ธ ์ฌ์์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋ ผ๋ฆฌ ์ฐ์ฐ์ OR์ ์ฌ์ฉํด์ ์ถ๋ ฅํ ์ ์๋ค.
SELECT *
FROM EMP
WHERE JOB = 'SALESMAN'
OR JOB = 'MANAGER'
OR JOB = 'CLERK';
๊ทธ๋ฌ๋ ์ด ๋ฐฉ๋ฒ์ ์กฐ๊ฑด์ด ๋์ด๋ ์๋ก ์กฐ๊ฑด์์ ๋ง์ด ์์ฑํด์ผ ํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์๋ค.
์ด๋ด ๋ IN ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ํน์ ์ด์ ํด๋นํ๋ ์กฐ๊ฑด์ ์ฌ๋ฌ ๊ฐ ์ง์ ํ ์ ์๋ค.
๋ค์์ IN ์ฐ์ฐ์์ ๊ธฐ๋ณธ ํ์์ด๋ค.
SELECT [์กฐํํ ์ด1 ์ด๋ฆ], [์ด2 ์ด๋ฆ], ...
FROM [์กฐํํ ํ ์ด๋ธ ์ด๋ฆ]
WHERE ์ด ์ด๋ฆ IN (๋ฐ์ดํฐ 1, ๋ฐ์ดํฐ 2, .. ๋ฐ์ดํฐ N);
(๊ดํธ๋ ์จ์ฃผ์ด์ผ ํ๋ค!)
ํค์๋ | ํ์ ์์ | ์ค๋ช |
IN | ์ด ์ด๋ฆ ์กฐํํ ์ด์ ๋ฐ์ดํฐ ๋ชฉ๋ก |
ํน์ ์ด์ ํฌํจ๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ๊ฐ ์กฐํํ ๋ ํ์ฉ |
์ด์ ์์ ์์๋ฅผ IN ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ๊พธ์ด๋ณด์.
SELECT *
FROM EMP
WHERE JOB IN ('SALESMAN', 'MANAGER', 'CLERK');
NOT์ ์ฌ์ฉํ์ฌ ํฌํจ๋์ง ์์ ๊ฒฝ์ฐ๋ ์ถ๋ ฅํ ์ ์๋ค.
SELECT *
FROM EMP
WHERE JOB NOT IN ('SALESMAN', 'MANAGER', 'CLERK');
BETWEEN ์ฐ์ฐ์
๊ธ์ฌ๊ฐ 2000~3000์ธ ์ฌ์์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํด์ผ ํ๋ค๋ฉด AND๋ฅผ ์ฌ์ฉํด์ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ ์ ์์ ๊ฒ์ด๋ค.
SELECT *
FROM EMP
WHERE SAL >= 2000
AND SAL <= 3000;
์ด์ ๊ฐ์ ์ํฉ์์ ๋์ ๋น๊ต ์ฐ์ฐ์ ๋์ BETWEEN์ ์ฌ์ฉํ๋ฉด ๋ ๊ฐ๋จํ๊ฒ ํํํ ์ ์๋ค.
๋ค์์ BETWEEN์ฐ์ฐ์์ ๊ธฐ๋ณธ ํ์์ด๋ค.
SELECT [์กฐํํ ์ด1 ์ด๋ฆ], [์ด2 ์ด๋ฆ], ...
FROM [์กฐํํ ํ ์ด๋ธ ์ด๋ฆ]
WHERE ์ด ์ด๋ฆ BETWEEN ์ต์๊ฐ AND ์ต๋๊ฐ;
ํค์๋ | ํ์ ์์ | ์ค๋ช |
BETWEEN A AND B | ์ด ์ด๋ฆ, ์ต์๊ฐ, ์ต๋๊ฐ | ์ผ์ ๋ฒ์ ๋ด์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ๋ ์ฌ์ฉ |
์์ ์์๋ฅผ BETWEEN์ ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
SELECT *
FROM EMP
WHERE SAL BETWEEN 2000 AND 3000;
(BETWEEN ๋ํ NOT์ ์ฌ์ฉํ ์ ์๋ค!)
LIKE ์ฐ์ฐ์์ ์์ผ๋ ์นด๋
LIKE ์ฐ์ฐ์๋ ์ด๋ฉ์ผ์ด๋ ๊ฒ์ํ ์ ๋ชฉ ๋๋ ๋ด์ฉ ๊ฒ์ ๊ธฐ๋ฅ์ฒ๋ผ ์ผ๋ถ ๋ฌธ์์ด์ด ํฌํจ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ์ ์๋ค.
๋ค์ ์์๋ ์ด๋ฆ์ด '์ '์ผ๋ก ์์ํ๋ ์ง์์ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ๋ SQL์ด๋ค.
SELECT *
FROM EMP
WHERE NAME LIKE '%์ ';
์ ์กฐ๊ฑด์์์ ์ฌ์ฉํ % ๊ธฐํธ๋ฅผ ์์ผ๋ ์นด๋๋ผ๊ณ ํ๋ค.
์์ผ๋ ์นด๋๋ ํน์ ๋ฌธ์์ด์ ๋์ฒดํ๊ฑฐ๋ ๋ฌธ์์ด ๋ฐ์ดํฐ์ ํจํด์ ํ๊ธฐํ๋ ํน์๋ฌธ์์ด๋ค.
LIKE ์ฐ์ฐ์์ ํจ๊ป ์ฌ์ฉํ ์ ์๋ ์์ผ๋ ์นด๋๋ _๊ณผ %์ด๋ค.
์ข ๋ฅ | ์๋ฏธ |
_ | ์ด๋ค ๊ฐ์ด๋ ์๊ด์์ด ํ ๊ฐ์ ๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ์๋ฏธ |
% | ๊ธธ์ด์ ์๊ด์์ด(์๋ ๊ฒฝ์ฐ๋ ํฌํจ) ๋ชจ๋ ๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ์๋ฏธ |
๋ง์ฝ ์ด๋ฆ ๊ธธ์ด์ ์๊ด์์ด ๋ ๋ฒ์งธ ๊ธ์๊ฐ "๋"์ธ ์ฌ์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ณ ์ถ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ ์ ์๋ค.
LIKE '_๋%';
๋ง์ฝ ์ด๋ค ๋จ์ด๊ฐ ํฌํจ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๊ณ ์ถ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋จ์ด์ ์ ๋ค๋ก %๋ฅผ ์ฌ์ฉํ์ฌ ์กฐํํ ์ ์๋ค.
LIKE '%์ด๋ค ๋ฌธ์%';
(๋ง์ฐฌ๊ฐ์ง๋ก LIKE์๋ NOT์ ์ฌ์ฉํ ์ ์๋ค!)
TIP - LIKE ์ฐ์ฐ์์ ์์ผ๋ ์นด๋ ๋ฌธ์์ ์ฑ๋ฅ
LIKE ์ฐ์ฐ์์ ์์ผ๋ ์นด๋๋ฅผ ํ์ฉํ SELECT๋ฌธ์ ์์ผ๋ ์นด๋๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ๋๋์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ์กฐํํด ์ค๋ ์๊ฐ์ ์ฐจ์ด๊ฐ ๋๋ค๊ณ ์๋ ค์ ธ ์๊ณ , ์ด์ ๊ด๋ จํ ๋ง์ ์๋ฃ๋ค์ด ์์ผ๋, ์ด๋ฌํ ์ฑ๋ฅ ๋ถ๋ถ๋ ์ฐพ์์ ๊ณต๋ถํด๋ณด๋๋ก ํ์.
(๋๋ ํด์ผํจ..ใ ใ ใ ใ ใ , ์ธ์ ๊ฐ ์ ๊ฐ DB์ ๊ณ ์๊ฐ ๋๋ ๋ ํฌ์คํ ์ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.)
IS NULL ์ฐ์ฐ์
IS NULL์ ๋ํด ์์๋ณด๊ธฐ ์ ์ NULL์ ๋ํด์ ์์๋ณด์.
NULL์ '๋ฐ์ดํฐ๊ฐ ์กด์ฌํ์ง ์๋ ์ํ'๋ฅผ ์๋ฏธํ๋ค.
NULL์๋ ์ค์ํ ํน์ง์ด ์๋๋ฐ, ์ฐ์ ์ฐ์ฐ์์ ๋น๊ต ์ฐ์ฐ์๋ก ๋น๊ตํด๋ ์ฐ์ฐ์ ๊ฐ์ ํญ์ NULL์ด๋ผ๋ ๊ฒ์ด๋ค.
๊ทธ๋์ ๋ค์๊ณผ ๊ฐ์ SQL ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ค๋ฉด ์๋ฌด๊ฒ๋ ์กฐํ๋์ง ์๋๋ค.
SELECT *
FROM EMP
WHERE COMM = NULL;
๊ทธ๋ผ ์ด๋ฐ ์ํฉ์์ NULL์ธ์ง ํ์ธ์ ์ด๋ป๊ฒ ํด์ผ ํ ๊น?
์ด๋ด ๋ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ฐ๋ก IS NULL ์ฐ์ฐ์์ด๋ค.
SELECT *
FROM EMP
WHERE COMM IS NULL;
๋ง์ฐฌ๊ฐ์ง๋ก NULL์ด ์๋์ง๋ฅผ ์ฒดํฌํ๊ธฐ ์ํด์๋ NOT์ ์ฌ์ฉํ์ฌ ๋ค์๊ณผ ๊ฐ์ด ์กฐํํ ์ ์๋ค.
SELECT *
FROM EMP
WHERE COMM IS NOT NULL;
์งํฉ ์ฐ์ฐ์
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ๋ ์ ์งํฉ๋ก ์์ ์์๋์๋ค.
SQL๋ฌธ์์๋ SELECT๋ฌธ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ๊ฒฐ๊ณผ๋ฅผ ํ๋์ ์งํฉ๊ณผ ๊ฐ์ด ๋ค๋ฃฐ ์ ์๋ ์งํฉ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ ๋ ๊ฐ ์ด์์ SELECT๋ฌธ์ ๊ฒฐ๊ณผ๊ฐ์ ์ฐ๊ฒฐํ ๋ ์ฌ์ฉํ๋ค.
์งํฉ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ๋ ์ฃผ์์ ์ด ์๋๋ฐ, ๊ฐ SELECT๋ฌธ์ด ์ถ๋ ฅํ๋ ค๋ ์ด์ ๊ฐ์์ ๊ฐ ์ด์ ์๋ฃํ์ด ์์๋ณ๋ก ์ผ์นํด์ผ ํ๋ค๋ ๊ฒ์ด๋ค. (์ด๋ฆ์ ์ผ์นํ์ง ์์๋ ๋๋ค! ๊ฒฐ๊ณผ๋ ์ด์ํด ๋ณด์ผ ์ ์์ง๋ง..!)
๋ค์์ ์๋ชป๋ ์ฌ์ฉ์์์ด๋ค.
(์ถ๋ ฅ ์ด์ ๊ฐ์๊ฐ ๋ค๋ฅผ ๋)
SELECT EMPNO, ENAME, SAL, DEPTNO
FROM EMP
WHERE DEPTNO= 10
UNION
SELECT EMPNO, ENAME, SAL
FROM EMP
WHERE DEPTNO= 20;
(์ถ๋ ฅ ์ด์ ์๋ฃํ์ด ๋ค๋ฅผ ๋)
SELECT EMPNO, ENAME, SAL, DEPTNO
FROM EMP
WHERE DEPTNO= 10
UNION
SELECT ENAME, SAL, EMPNO, DEPTNO
FROM EMP
WHERE DEPTNO= 20;
์๋๋ ์ด์ํด ๋ณด์ผ ์ง ๋ชฐ๋ผ๋ ์ฌ๋ฐ๋ฅธ ์ฌ์ฉ์ด๋ค.
SELECT EMPNO, ENAME, SAL, DEPTNO
FROM EMP
WHERE DEPTNO= 10
UNION
SELECT SAL, JOB, DEPTNO, SAL
FROM EMP
WHERE DEPTNO = 20;
์ค๋ผํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฌ์ฉํ๋ ์งํฉ ์ฐ์ฐ์๋ ๋ค์๊ณผ ๊ฐ์ด 4๊ฐ์ง ์ข ๋ฅ๊ฐ ์๋ค.
์ข ๋ฅ | ์ค๋ช |
UNION | ์ฐ๊ฒฐ๋ SELECT๋ฌธ์ ๊ฒฐ๊ณผ ๊ฐ์ ํฉ์งํฉ์ผ๋ก ๋ฌถ์ด์ค๋ค. ๊ฒฐ๊ณผ๊ฐ์ ์ค๋ณต์ ์ ๊ฑฐ๋๋ค. |
UNION ALL | ์ฐ๊ฒฐ๋ SELECT๋ฌธ์ ๊ฒฐ๊ณผ ๊ฐ์ ํฉ์งํฉ์ผ๋ก ๋ฌถ์ด์ค๋ค. ์ค๋ณต๋ ๊ฒฐ๊ณผ ๊ฐ๋ ์ ๊ฑฐ ์์ด ๋ชจ๋ ์ถ๋ ฅ๋๋ค. |
MINUS | ๋จผ์ ์์ฑํ SELECT๋ฌธ์ ๊ฒฐ๊ณผ ๊ฐ์์ ๋ค์ SELECT๋ฌธ์ ๊ฒฐ๊ณผ ๊ฐ์ ์ฐจ์งํฉ ์ฒ๋ฆฌํ๋ค. ๋จผ์ ์์ฑํ SELECT๋ฌธ์ ๊ฒฐ๊ณผ ๊ฐ ์ค ๋ค์ SELECT๋ฌธ์ ์กด์ฌํ์ง ์๋ ๋ฐ์ดํฐ๋ง ์ถ๋ ฅ๋๋ค. |
INTERSECT | ๋จผ์ ์์ฑํ SELECT๋ฌธ๊ณผ ๋ค์ SELECT๋ฌธ์ ๊ฒฐ๊ณผ ๊ฐ์ด ๊ฐ์ ๋ฐ์ดํฐ๋ง ์ถ๋ ฅํ๋ค. ๊ต์งํฉ๊ณผ ๊ฐ์ ์๋ฏธ์ด๋ค. |
์ฐ์ฐ์ ์ฐ์ ์์
์ง๊ธ๊น์ง WHERE์ ์กฐ๊ฑด์์ ์ฌ์ฉํ๋ ์ฌ๋ฌ ์ฐ์ฐ์๋ฅผ ์์๋ณด์๋ค.
์ด๋ฌํ ์ฐ์ฐ์๋ค์ ์ฐ์ ์์(priority)๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
์์์ ์ดํด๋ณธ ์ฐ์ฐ์์ ์ฐ์ ์์๋ ๋ค์๊ณผ ๊ฐ๋ค.
์ฐ์ ์์ | ์ฐ์ฐ์ | ์ค๋ช |
๋์ ๋ฎ์ |
*, / | ์ฐ์ ์ฐ์ฐ์ ๊ณฑํ๊ธฐ, ๋๋๊ธฐ |
+, - | ์ฐ์ ์ฐ์ฐ์ ๋ํ๊ธฐ, ๋นผ๊ธฐ | |
=, !=, ^=, <>, >, >=, <, <= | ๋์ ๋น๊ต ์ฐ์ฐ์ | |
IS (NOT) NULL, (NOT) LIKE, (NOT) IN | (๊ทธ ์ธ) ๋น๊ต ์ฐ์ฐ์ | |
BETWEEN | BETWEEN ์ฐ์ฐ์ | |
NOT | ๋ ผ๋ฆฌ ๋ถ์ ์ฐ์ฐ์ NOT | |
AND | ๋ ผ๋ฆฌ ์ฐ์ฐ์ AND | |
OR | ๋ ผ๋ฆฌ ์ฐ์ฐ์ OR |
์ํ์์์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋จผ์ ์ํํด์ผ ํ๋ ์ฐ์ฐ์์ ์๊ดํธ๋ก ๋ฌถ์ด์ฃผ๋ฉด ์ฐ์ฐ์์ ๊ธฐ๋ณธ ์ฐ์ ์์์๋ ๋ณ๊ฐ๋ก ๊ดํธ ์์ ์ฐ์ฐ์์ ๋จผ์ ์ํํ๋ค.
๐ Reference
[SQL] AND, OR์ฐ์ฐ์์ ์ฐ์ ์์
SQL ์์์ SELECT์ ์์ WHERE์ ์ด์ฉํด ์ฐพ๊ณ ์ ํ๋ ์กฐ๊ฑด์์ ์์ฑํ ๋, ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ...
blog.naver.com