1> ์ง์›ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•˜๋ผ.

SELECT * FROM emp;


 
2> EMPํ…Œ์ด๋ธ”์—์„œ ๊ฐ ์‚ฌ์›์˜ ์ง์—…, ์‚ฌ์›๋ฒˆํ˜ธ, ์ด๋ฆ„, ์ž…์‚ฌ์ผ์„ ์ถœ๋ ฅํ•˜๋ผ.

SELECT job, empno, ename, hiredate
FROM emp;


 
3> EMPํ…Œ์ด๋ธ”์—์„œ ์ง์—…์„ ์ถœ๋ ฅํ•˜๋˜, ๊ฐ ํ•ญ๋ชฉ(ROW)๊ฐ€ ์ค‘๋ณต๋˜์ง€ ์•Š๊ฒŒ ์ถœ๋ ฅํ•˜๋ผ.

SELECT DISTINCT job
FROM emp;


 
4> ๊ธ‰์—ฌ๊ฐ€ 2850 ์ด์ƒ์ธ ์‚ฌ์›์˜ ์ด๋ฆ„ ๋ฐ ๊ธ‰์—ฌ๋ฅผ ์ถœ๋ ฅํ•˜๋ผ.

SELECT ename, sal
FROM emp
WHERE sal > 2850;


 
5> ์‚ฌ์›๋ฒˆํ˜ธ๊ฐ€ 7566์ธ ์‚ฌ์›์˜ ์ด๋ฆ„ ๋ฐ ๋ถ€์„œ๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅํ•˜๋ผ.

SELECT ename, deptno
FROM emp
WHERE empno = 7566;


 
6> ๊ธ‰์—ฌ๊ฐ€ 1500์ด์ƒ ~ 2850์ดํ•˜์˜ ๋ฒ”์œ„์— ์†ํ•˜์ง€ ์•Š๋Š” ๋ชจ๋“  ์‚ฌ์›์˜ ์ด๋ฆ„ ๋ฐ ๊ธ‰์—ฌ๋ฅผ ์ถœ๋ ฅํ•˜๋ผ.

SELECT ename, sal
FROM emp
WHERE sal NOT BETWEEN 1500 AND 2850;


 
7> 1981๋…„ 2์›” 20์ผ ~ 1981๋…„ 5์›” 1์ผ์— ์ž…์‚ฌํ•œ ์‚ฌ์›์˜ ์ด๋ฆ„,์ง์—… ๋ฐ ์ž…์‚ฌ์ผ์„ ์ถœ๋ ฅํ•˜๋ผ. (์ž…์‚ฌ์ผ์„ ๊ธฐ์ค€์œผ๋กœ ํ•ด์„œ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋ผ.)

SELECT ename, job, hiredate
FROM emp
WHERE hiredate BETWEEN '1981/02/20' AND '1981/05/01'
ORDER BY hiredate;


 
8> 10๋ฒˆ ๋ฐ 30๋ฒˆ ๋ถ€์„œ์— ์†ํ•˜๋Š” ๋ชจ๋“  ์‚ฌ์›์˜ ์ด๋ฆ„๊ณผ ๋ถ€์„œ ๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅํ•˜๋˜, ์ด๋ฆ„์„ ์•ŒํŒŒ๋ฒณ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋ผ.

SELECT ename, deptno
FROM emp
WHERE deptno IN (10, 30)
ORDER BY ename;


 
9> 10๋ฒˆ ๋ฐ 30๋ฒˆ ๋ถ€์„œ์— ์†ํ•˜๋Š” ๋ชจ๋“  ์‚ฌ์› ์ค‘ ๊ธ‰์—ฌ๊ฐ€ 1500์„ ๋„˜๋Š” ์‚ฌ์›์˜  ์ด๋ฆ„ ๋ฐ ๊ธ‰์—ฌ๋ฅผ ์ถœ๋ ฅํ•˜๋ผ.
(๋‹จ ์ปฌ๋Ÿผ๋ช…์„ ๊ฐ๊ฐ employee ๋ฐ Monthly Salary๋กœ ์ง€์ •ํ•˜์‹œ์˜ค)

SELECT ename "employee", sal "Monthly Salary"
FROM emp
WHERE deptno IN(10,30)
AND sal > 1500;


 
10> ์ƒ์‚ฌ๊ฐ€ ์—†๋Š” ๋ชจ๋“  ์‚ฌ์›์˜ ์ด๋ฆ„ ๋ฐ ์ง์œ„๋ฅผ ์ถœ๋ ฅํ•˜๋ผ.

SELECT e.ename, e.job
FROM emp e
WHERE NOT EXISTS (SELECT 1 FROM emp m WHERE e.mgr = m.empno);



11> ์ปค๋ฏธ์…˜์„ ๋ฐ›๋Š” ๋ชจ๋“  ์‚ฌ์›์˜ ์ด๋ฆ„, ๊ธ‰์—ฌ ๋ฐ ์ปค๋ฏธ์…˜์„ ์ถœ๋ ฅํ•˜๋˜, ๊ธ‰์—ฌ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋ผ.

SELECT ename, sal, comm
FROM emp
WHERE comm IS NOT NULL
AND comm !=0
ORDER BY sal DESC;

 


12> ์ด๋ฆ„์˜ ์„ธ ๋ฒˆ์งธ ๋ฌธ์ž๊ฐ€ A์ธ ๋ชจ๋“  ์‚ฌ์›์˜ ์ด๋ฆ„์„ ์ถœ๋ ฅํ•˜๋ผ.

SELECT ename
FROM emp
WHERE ename LIKE '__A%';


 
13> ์ด๋ฆ„์— L์ด ๋‘ ๋ฒˆ ๋“ค์–ด๊ฐ€๋ฉฐ ๋ถ€์„œ 30์— ์†ํ•ด์žˆ๋Š” ์‚ฌ์›์˜ ์ด๋ฆ„์„ ์ถœ๋ ฅํ•˜๋ผ.

SELECT ename
FROM emp
WHERE deptno = 30
AND ename LIKE '%L%L%';


 
14> ์ง์—…์ด Clerk ๋˜๋Š” Analyst ์ด๋ฉด์„œ ๊ธ‰์—ฌ๊ฐ€ 1000,3000,5000 ์ด ์•„๋‹Œ ๋ชจ๋“  ์‚ฌ์›์˜ ์ด๋ฆ„, ์ง์—… ๋ฐ ๊ธ‰์—ฌ๋ฅผ ์ถœ๋ ฅํ•˜๋ผ.

SELECT ename, job, sal
FROM emp
WHERE job IN ('CLERK', 'ANALYST')
AND sal  NOT IN (1000, 3000, 5000);



15> ์‚ฌ์›๋ฒˆํ˜ธ, ์ด๋ฆ„, ๊ธ‰์—ฌ ๊ทธ๋ฆฌ๊ณ  15%์ธ์ƒ๋œ ๊ธ‰์—ฌ๋ฅผ ์ •์ˆ˜๋กœ ํ‘œ์‹œํ•˜๋˜ ์ปฌ๋Ÿผ๋ช…์„ New Salary๋กœ ์ง€์ •ํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋ผ.

SELECT empno, ename, sal, sal*1.15 "New Salary"
FROM emp;



16> 15๋ฒˆ ๋ฌธ์ œ์™€ ๋™์ผํ•œ ๋ฐ์ดํƒ€์—์„œ ๊ธ‰์—ฌ ์ธ์ƒ๋ถ„(์ƒˆ ๊ธ‰์—ฌ์—์„œ ์ด์ „ ๊ธ‰์—ฌ๋ฅผ ๋บ€ ๊ฐ’)์„ ์ถ”๊ฐ€ํ•ด์„œ ์ถœ๋ ฅํ•˜๋ผ.(์ปฌ๋Ÿผ๋ช…์€ Increase๋กœ ํ•˜๋ผ).

SELECT empno, ename, sal, sal*1.15 "New Salary", (sal*1.15)-sal "Increas"
FROM emp;


 
18> ๋ชจ๋“  ์‚ฌ์›์˜ ์ด๋ฆ„(์ฒซ ๊ธ€์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ, ๋‚˜๋จธ์ง€ ๊ธ€์ž๋Š” ์†Œ๋ฌธ์ž๋กœ ํ‘œ์‹œ) ๋ฐ ์ด๋ฆ„ ๊ธธ์ด๋ฅผ ํ‘œ์‹œํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์ปฌ๋Ÿผ ๋ณ„์นญ์€ ์ ๋‹นํžˆ ๋„ฃ์–ด์„œ ์ถœ๋ ฅํ•˜๋ผ.

SELECT INITCAP(ename) "์‚ฌ์›๋ช…", LENGTH (ename)
FROM emp;

* UPPER : ๋Œ€๋ฌธ์ž ์•ŒํŒŒ๋ฒณ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ํ•จ์ˆ˜ = UCASE
* LOWER : ์†Œ๋ฌธ์ž ์•ŒํŒŒ๋ฒณ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ํ•จ์ˆ˜
* INITCAP : ๋งจ ์ฒซ ๊ธ€์ž๋งŒ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€๊ฒฝ (Oracle ํ•œ์ •)
* LENGTH : ๋ฌธ์ž์—ด ๊ธธ์ด๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜

 


19> ์‚ฌ์›์˜ ์ด๋ฆ„๊ณผ ์ปค๋ฏธ์…˜์„ ์ถœ๋ ฅํ•˜๋˜, ์ปค๋ฏธ์…˜์ด ์ฑ…์ •๋˜์ง€ ์•Š์€ ์‚ฌ์›์˜ ์ปค๋ฏธ์…˜์€ 'no commission'์œผ๋กœ ์ถœ๋ ฅํ•˜๋ผ.

SELECT ename, comm, NVL(TO_CHAR(comm), 'no commission')
FROM emp;

* NVL(๊ฐ’, ์ง€์ •๊ฐ’) : NULL๊ฐ’์„ ํŠน์ • ๊ฐ’์œผ๋กœ ์ถœ๋ ฅ
* NVL2(๊ฐ’, ์ง€์ •๊ฐ’) : NULL๊ฐ’์ด ์•„๋‹ ๊ฒฝ์šฐ ํŠน์ • ๊ฐ’์œผ๋กœ ์ถœ๋ ฅ


 
20> ๋ชจ๋“  ์‚ฌ์›์˜ ์ด๋ฆ„,๋ถ€์„œ๋ฒˆํ˜ธ,๋ถ€์„œ์ด๋ฆ„์„ ํ‘œ์‹œํ•˜๋Š” ์งˆ์˜๋ฅผ ์ž‘์„ฑํ•˜๋ผ.(DECODE)

SELECT e.ename, e.deptno, d.dname
FROM emp e, dept d
WHERE e.deptno = d.deptno;


[๋‹ค๋ฅธ๋ฐฉ๋ฒ•] DECODE

SELECT ename, deptno , DECODE(deptno,10,'ACCOUNTING' ,
                                                    20,'RESEARCH',
                                                    30,'SALES',
                                                    40,'OPERATIONS') AS "dname"
FROM EMP;

 

*DECODE (์ปฌ๋Ÿผ, ์กฐ๊ฑด1, ๊ฒฐ๊ณผ1, ์กฐ๊ฑด2, ๊ฒฐ๊ณผ2, ์กฐ๊ฑด3, ๊ฒฐ๊ณผ3..........) 
ํ‘œ์ค€ SQLํ•จ์ˆ˜๊ฐ€ ์•„๋‹˜
 
21> 30๋ฒˆ ๋ถ€์„œ์— ์†ํ•œ ์‚ฌ์›์˜ ์ด๋ฆ„๊ณผ ๋ถ€์„œ๋ฒˆํ˜ธ ๊ทธ๋ฆฌ๊ณ  ๋ถ€์„œ์ด๋ฆ„์„ ์ถœ๋ ฅํ•˜๋ผ.

SELECT e.ename, e.empno, d.dname
FROM emp e, dept d
WHERE d.deptno = 30;


 
22> 30๋ฒˆ ๋ถ€์„œ์— ์†ํ•œ ์‚ฌ์›๋“ค์˜ ๋ชจ๋“  ์ง์—…๊ณผ ๋ถ€์„œ์œ„์น˜๋ฅผ ์ถœ๋ ฅํ•˜๋ผ. (๋‹จ, ์ง์—… ๋ชฉ๋ก์ด ์ค‘๋ณต๋˜์ง€ ์•Š๊ฒŒ ํ•˜๋ผ.)

SELECT e.job, d.loc
FROM emp e, dept d
WHERE d.deptno = 30;



23> ์ปค๋ฏธ์…˜์ด ์ฑ…์ •๋˜์–ด ์žˆ๋Š” ๋ชจ๋“  ์‚ฌ์›์˜ ์ด๋ฆ„, ๋ถ€์„œ์ด๋ฆ„ ๋ฐ ์œ„์น˜๋ฅผ ์ถœ๋ ฅํ•˜๋ผ.

SELECT e.ename, d.dname, d.loc
FROM emp e, dept d
WHERE e.deptno=d.deptno AND e.comm IS NOT NULL;



24> ์ด๋ฆ„์— A๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๋ชจ๋“  ์‚ฌ์›์˜ ์ด๋ฆ„๊ณผ ๋ถ€์„œ ์ด๋ฆ„์„ ์ถœ๋ ฅํ•˜๋ผ.

SELECT e.ename, d.dname
FROM emp e, dept d
WHERE e.deptno=d.deptno AND e.ename LIKE '%A%';



25> Dallas์—์„œ ๊ทผ๋ฌดํ•˜๋Š” ๋ชจ๋“  ์‚ฌ์›์˜ ์ด๋ฆ„, ์ง์—…, ๋ถ€์„œ๋ฒˆํ˜ธ ๋ฐ ๋ถ€์„œ์ด๋ฆ„์„ ์ถœ๋ ฅํ•˜๋ผ.

SELECT e.ename, e.job, e.deptno, d.dname
FROM emp e, dept d
WHERE e.deptno=d.deptno AND d.loc='DALLAS';

+ Recent posts