๋ฐ์ดํฐ๋ฅผ ํ์ธํ๊ธฐ ์ํด ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ณ ํ์ธํ๊ณ ... ๊ฐ์ ์ฟผ๋ฆฌ๋ด์์ ํน์ ๊ฐ๋ง ๋ณ๊ฒฝํด์ ๋ฐ์ดํฐ๋ฅผ ํ์ธํ๊ณ ์ถ์๋ ์ด๋ป๊ฒ ํ์๋์?
์๋ฅผ๋ค์ด ํน์ ๋ถ์์ ์ด๋ค ์ง์๋ค์ด ์๋์ง ํ์ธํ๊ณ ์ถ์๋ฐ... ์์ ๋ถ์๋ฅผ ํ์ธํ๊ณ ์ธ์ฌ๋ถ์์ ์ง์๋ค์ ํ์ธํ๊ธฐ ์ํด WHERE์ ์ Value๊ฐ์ ๊ณ์ ๋ณ๊ฒฝํด๊ฐ๋ฉด์ ํ์ธํ์๋์? ํ ๋๊ฐ๋ฉด ๋ชฐ๋ผ๋... ๋ถ์๊ฐ 20๊ฐ์ฉ ์๊ณ ์ด๋ฌ๋ฉด ์ผ์ผํ ์ฟผ๋ฆฌ๋ด์ฉ ๋ณ๊ฒฝํด๊ฐ๋ฉด์ ํ์ธํ๊ธฐ ํ๋ค์์์? ๊ทธ๋ด๋ ์นํ๋ณ์ '&'๋ฅผ ์ฌ์ฉํ์๋ฉด ์ข ๋ ํธํ๊ฒ ์์ ์ ํ ์ ์์ต๋๋ค.
์นํ๋ณ์์ ๋ํด์ ์์๋ณด๊ธฐ ์ํด Oracle์ scott ๊ณ์ ์์ ์๋ EMP ํ ์ด๋ธ์ ๊ฐ๊ณ ์ค์ตํด ๋ณด๊ฒ ์ต๋๋ค.
์ค๋ผํด ์นํ๋ณ์
์ค๋ผํด '&' ๋ฌธ์
1
|
SELECT * FROM EMP WHERE SAL >= 1000;
|
EMP ํ ์ด๋ธ์์ ์๊ธ์ด 1000์ด์์ธ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํด๋ดค์ต๋๋ค. ๊ทธ๋ฐ๋ฐ 2000์ด์์ ๋ฐ์ดํฐ๋ ๋ณด๊ณ ์ถ๊ณ 3000์ด์๋ง์ ๋ฐ์ดํฐ๋ ๋ณด๊ณ ์ถ๊ณ ... ์ ์ฟผ๋ฆฌ์ ์กฐ๊ฑด๊ฐ์ ๋ณ์๋ก ์ฌ์ฉํด์ ๊ณ์ ๋ณ๊ฒฝํด๊ฐ๋ฉด์ ๋ณด๊ณ ์ถ๋ค๋ ์๊ฐ์ด ๋๋ค์. ์ด๋ด๋ '&' ๋ฌธ์๋ฅผ ์ด์ฉํด์ ์นํ๋ณ์๋ฅผ ์ฌ์ฉํด์ค๋๋ค.
์ซ์ํ ์นํ๋ณ์
1
|
SELECT * FROM EMP WHERE SAL >= &SALARY;
|
'&' ๋ฌธ์๋ฅผ ์ฌ์ฉํด์ ์นํ๋ณ์๋ช ์ ์ง์ ํด์ฃผ๊ณ ์ฟผ๋ฆฌ ์คํ์ ํ๋ฉด ์๋์ฐ์์๋ ์ ๋ ฅ์ฐฝ์ด ๋์์ง๋๋ค.
ํด๋น ์ ๋ ฅ๋์ ์ํ๋ ๊ฐ์ ๋ฃ๊ณ ํ์ธ์ ์ ํํด์ฃผ๋ฉด ํด๋น ์นํ๋ณ์์ ๊ฐ์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ฟ๋ ค์ค๋๋ค.
๋ฌธ์ํ ์นํ๋ณ์
1
|
SELECT * FROM EMP WHERE JOB = &JOB_NAME;
|
๋ฌธ์ํ์ผ๋ก๋ ๋ฐ์ดํฐ๋ ์นํ๋ณ์๋ฅผ ์ฌ์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ณ ์ถ์์๋๋ฐ... ๋ถ์ ํฉํ ์๋ณ์๋ผ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ด๋ ์นํ๋ณ์๋ฅผ ๋ฌธ์ํ์ด ์๋ ์นผ๋ผ๋ช ์ผ๋ก ์ธ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
1
|
SELECT * FROM EMP WHERE JOB = '&JOB_NAME';
|
์์ ๋ฐ์ดํ ' ๋ฅผ ์ฌ์ฉํด์ ๋๋ฌ์ฃผ๋ฉด ํด๋น ์นํ๋ณ์๋ฅผ ๋ฌธ์ํ์ผ๋ก ์ธ์ํฉ๋๋ค.
์นํ๋ณ์ ์นผ๋ผ์ผ๋ก ์ฌ์ฉํ๊ธฐ
๋ฌธ์ํ์ผ๋ก ์นํ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ค๋ค๊ฐ ์๋ฌ๊ฐ ๋ฐ์ํ์๋ ์ด๋ ๋ฌธ์ํ์ด ์๋ ์นผ๋ผ๋ช ์ผ๋ก ์ธ์ํ๊ธฐ๋๋ฌธ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒ ์ ๋๋ค. ๊ทธ๋ผ ์นํ๋ณ์๋ฅผ ์ฌ์ฉ์ ์นผ๋ผ์ ์ ๋์ ์ผ๋ก ๋ฐ๊ฟ ์ค ์ ์๋ ๋ณ์๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ๊น์?
1
|
SELECT EMPNO, ENAME, &COL_NAME FROM EMP;
|
COL_NAME์ด๋ผ๋ ์นํ๋ณ์๋ฅด ์นผ๋ผ๋ช ์ผ๋ก ์ฌ์ฉํด๋ดค์ต๋๋ค. SAL ์นผ๋ผ์ ์ ๋ณด๋ฅผ ๋ณด๊ธฐ ์ํด ์ ๋ ฅ์ฐฝ์ SAL์ ์ ๋ ฅํ๋๋ ์ด์์์ด ํด๋น ์ด์ ์ ๋ณด๋ฅผ ์ถ๋ ฅํ ์ ์์์ต๋๋ค.
์นผ๋ผ์ ์นํ๋ณ์์ ์ฌ์ฉํ ์ ์๋ค๋ ๋ด์ฉ์ ์๊ฒ๋๊ณ ๋์ ๋ฑ ํ๊ฐ์ง๊ฐ ๋จธ๋ฆฌ์์ผ๋ก ๋ ์ฌ๋์ต๋๋ค.
๊ทธ๋ผ ๋ณต์กํ๊ณ ๊ธด ์ฟผ๋ฆฌ์์ ์นผ๋ผ์ ๋ํ ์ ๋ณด๋ฅผ ์นํ๋ณ์์ ๋ฃ์ด์ ๋ณ๊ฒฝํด๊ฐ๋ฉด์ ๋ณด๋ฉด ์ง์ง ํธํ๊ฒ ๋ค๋ ์๊ฐ....
1
|
SELECT EMPNO, ENAME, &COL_NAME FROM EMP ORDER BY &COL_NAME;
|
๊ทธ๋์ ํด๋น ์นํ๋ณ์๋ฅผ ํ๋ ๋๋ ค์ ์๋์ด ๊ฐ๋ฅํ์ง.. ํ์ธํด๋ดค๋๋ฐ... ์ง์ ํ ์นํ๋ณ์๋ง๋ค ์ ๋ ฅ์ฐฝ์ด ๋์์ง๋ฉด์ ๋ชจ๋ ์ ๋ ฅํ์ด์ผํฉ๋๋ค.
์ด๋ ๊ฒ๋ง ๋๋๋ผ๋ ์ ๋ฌด๊ฐ ๋ง์ด ํธํด์ง๊ธด ํ๋๋ฐ... ์ผ์ผํ ๋ ์ ๋ ฅํด์ฃผ๋ ๊ท์ฐฎ์ ์ ๋ฌด๊ฐ ๋ ์๊ฒจ๋ฒ๋ฆฝ๋๋ค. ๊ทธ๋์ ์นํ๋ณ์๋ฅผ ํ๋ฒ ์ ์ธํ๋ฉด ํด๋น ์ธ์ ์์ ๊ณ์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
์ค๋ผํด '&&' ๋ฌธ์
1
|
SELECT EMPNO, ENAME, &&COL_NAME FROM EMP ORDER BY &COL_NAME;
|
๊ฐ์ฅ ์ฒ์์ ์ค๋ ์นํ๋ณ์์ '&' ๋ฌธ์๋ฅผ 2๊ฐ ์ฌ์ฉํ์ฌ '&&' ๋ฌธ์๋ก ๋ง๋ค์ด์ค์ ์ฌ์ฉํ๋ฉด ํ๋ฒ์ ์ ๋ ฅ์ฐฝ์์ ์ ๋ ฅํ์ฌ ํด๋น ์ธ์ ์์ ๊ณ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฌ๋ฌ ์กฐ๊ฑด์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ํ์ธํ๋ ์ ๋ฌด๋ฅผ ๋ณผ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ, ๋ฌธ๋ ์๊ฐํด๋ณด๋... ํด๋น ์ธ์ ์์ ์นํ๋ณ์๊ฐ ๊ณ์ ์ ์ฅ๋๋ฉด... ๋ค์ ์ฟผ๋ฆฌ๋ฅผ ์คํํด์ ๋ค๋ฅธ ํ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ณ ์ถ๊ฑฐ๋ ๋ค๋ฅธ ์กฐ๊ฑด์ ๋ฐ์ดํฐ๋ฅผ ๋ณผ๋ ค๋ฉด ์นํ๋ณ์๋ช ์ ๊ณ์ ๋ฐ๊ฟ์ค์ผํ๋??? ์๋๋ฉด ์ธ์ ์ ๊ณ์ ๋์๋ค๊ฐ ์ ์ํด์ผํ๋?? ๋ญ๊ฐ ๋ถํธํ ๊ฒ๊ฐ์ ์๊ฐ์ด ๋ค์ด ์ฐพ์๋ดค๋๋ฐ ์ด๋ฐ ๋ฌธ์ ๋ค์ 2๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐํ ์ ์์์ต๋๋ค.
์นํ๋ณ์ ์ ์ธ DEFINE
1
2
|
DEFINE COL_NAME = "SAL";
SELECT EMPNO, ENAME, &COL_NAME FROM EMP ORDER BY &COL_NAME;
|
DEFINE ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ์นํ๋ณ์๋ฅผ ์ ์ฅํ ์ ์์ต๋๋ค.
์นํ๋ณ์ ํด์ UNDEFINE
1
|
UNDEFINE COL_NAME = "SAL";
|
DEFINEํ ์นํ๋ณ์๋ฅผ ํด์ ํ๊ธฐ ์ํด์ UNDEFINE ๋ช ๋ น์ ์ฌ์ฉํ๊ณ ๋ค์ ์๋กญ๊ฒ ๊ฐ์ ๋ณ์๋ช ์ผ๋ก ์ ์ํ ์ ์์ต๋๋ค.
๋๊ธ