windows OS PC -> ์ค๋ผํด DB -> OracleListener -> sqldeveloper ํด์ ์ฌ์ฉํด์ ์ ์
=> ๊ทธ๋ฅ cmd์ฐฝ์๋ค๊ฐ ์์ฑํ๋ฉด ๋ญ๊ฐ ํ๋ฆฐ์ง๋ ๋ชจ๋ฅด๊ณ ์๋์์ฑ๋ ๋์ง๋ ์๊ณ ๊ทธ๋์ ๋ถํธํ๋๊น sqldeveloper ํด์ ์ฌ์ฉํ์ฌ ๊ฐํธํ๊ฒ ์ฟผ๋ฆฌ๋ฌธ ์์ฑ~!
Create (์์ฑ)
Read (์กฐํ-์ฝ๊ธฐ)
Update (์์ )
Delete (์ญ์ )
dept ํ ์ด๋ธ์ ์๋ ์ ์ฒด ๋ฐ์ดํฐ๋ฅผ ์กฐํ
SELECT DEPTNO FROM dept;
dept ํ
์ด๋ธ์ ์๋ DEPTNO ์ปฌ๋ผ ๋ฐ์ดํฐ ์กฐํ
ํ
์ด๋ธ ์ปฌ๋ผ ๊ตฌ์กฐ ํ์ธ : desc ํ
์ด๋ธ๋ช
;
=> ํ
์ด๋ธ์ ์๋ ๋ชจ๋ ์ปฌ๋ผ๋ช
์ด ๋ค ๋์ด!
desc dept;
dept ํ
์ด๋ธ์ ์ปฌ๋ผ๋ช
๋ค ๋์ด
๐ป
SELECT ์ปฌ๋ผ๋ช
AS "์ปฌ๋ผ๋ช
์๋ก" ,
์ปฌ๋ผ๋ช
"์ปฌ๋ผ๋ช
์๋ก" ,
์ปฌ๋ผ๋ช
์ปฌ๋ผ๋ช
๋ณ์นญ์๋ก ,
... FROM ํ
์ด๋ธ๋ช
;
SELECT
'ABC' AS "์ํ๋ฒณ",
'๋ฌธ์์ด' "ํ๊ธ๋ฌธ์์ด",
550 STD_PAY,
deptno deptno_new,
LOC USA_location
FROM dept;
๐ป
DISTINCT(์ปฌ๋ผ๋ช
)
SELECT DISTINCT job from emp; --job ์ปฌ๋ผ ์ค๋ณต์ ๊ฑฐ ์กฐํ!
์์ ์ปฌ๋ผ์ด ํ๋ ๋ ๋ถ์ผ๋ฉด์ ์ปฌ๋ผ๋ช
์ sal_description_per_ename
ename || '์(๋)' || sal || '๋ฅผ ๋ฐ์ต๋๋ค' ๋ก ๋ด์ฉ์ด ํ์๋จ
SELECT ename ์ด๋ฆ, sal ๊ธ์ฌ,
ename || '์(๋)' || sal || '๋ฅผ ๋ฐ์ต๋๋ค' sal_description_per_ename
FROM emp;
๐ป
SELECT ์ปฌ๋ผ๋ช
FROM ํ
์ด๋ธ๋ช
WHERE ์ํ๋ ์กฐ๊ฑด
--์ง์์ ๋ณดํ
์ด๋ธ์์ ์ง์
์ด 'SALESMAN'์ธ ์ง์๋ค์ ์ฌ๋ฒ, ์ด๋ฆ, ์ง์
๋ช
์กฐํํ์์ค.
SELECT empno, ename, job
FROM emp
WHERE job = 'SALESMAN';
๐ป
1) ๋ณตํฉ์กฐ๊ฑด = AND OR
2) ๋ฒ์๊ฐ๋น๊ต = BETWEEN a AND b : a์ b์ฌ์ด ๋ฒ์
===> a์ด์ b์ดํ
3) ํน์ ์กฐ๊ฑด๊ฐ = ์ปฌ๋ผ๋ช
IN(10, 30, 40) == deptno = 10 OR deptno = 30 OR deptno = 40
=> 10์ด๊ฑฐ๋ 30์ด๊ฑฐ๋ 40 (OR)
์๋๋ค ์กฐ๊ฑด = ์ปฌ๋ผ๋ช
NOT IN
--emp2 ํ
์ด๋ธ์์ ์ทจ๋ฏธ๊ฐ Climb ์ด๊ฑฐ๋ Drinking ์ธ ์ง์๋ค ์ ๋ณด ์กฐํ
SELECT *
FROM emp2
WHERE hobby IN ('Climb' , 'Drinking');
๐ป
4) ๋ ์ฌ๋ถ ๊ฒ์ = ์ปฌ๋ผ๋ช
IS NULL
์ปฌ๋ผ๋ช
IS NOT NULL
--emp2 ํ
์ด๋ธ์์ ์ทจ๋ฏธ๊ฐ Climb, Drinking ์ด ์๋ ์ง์๋ค ์ ๋ณด ์กฐํ (NULL์ธ๊ฒ๋ ์กฐํ!)
SELECT *
FROM emp2
WHERE hobby NOT IN ('Climb' , 'Drinking') OR hobby IS NULL;
๐ป
5) ํจํด์กฐ๊ฑด๊ฒ์ = ์ปฌ๋ผ๋ช
LIKE(%, )
% : ์๋ฌด๊ธ์ ์๋ฌด๊ฐฏ์ 0~n๊ฐ
: _ํ๊ฐ๊ฐ ํ์๋ฆฌ์
SELECT *
FROM emp
WHERE ename LIKE '%M%'; --์ด๋ฆ์ M์ํ๋ฒณ์ด ๋ค์ด๊ฐ๋ ์ฌ๋
๐ป
SELECT *
FROM emp
WHERE ename LIKE '_M___'; --์ด๋ฆ์ด ์ด ๋ค์ฏ๊ธ์์ ๋๋ฒ์งธ๊ฐ M์ธ ์ฌ๋
๐ป
SELECT ์ปฌ๋ผ๋ช
FROM ํ
์ด๋ธ๋ช
WHERE ์กฐ๊ฑด
ORDER BY ์ปฌ๋ผ๋ช
ASC(์ค๋ฆ์ฐจ์):๊ธฐ๋ณธ๊ฐ / DESC(๋ด๋ฆผ์ฐจ์)
ORDER BY ์ปฌ๋ผ๋ช
, ์ปฌ๋ผ๋ช
--ํ์๋ค ํค ์์ผ๋ก ์ ๋ ฌํ๊ธฐ
SELECT * FROM student
--ORDER BY height ASC; --ASC ์ค๋ฆ์ฐจ์ => (๊ธฐ๋ณธ๊ฐ)์ด๋ผ ๊ตณ์ด ์์จ์ค๋ ๋จ!
ORDER BY height DESC, weight DESC; --DESC ๋ด๋ฆผ์ฐจ์ => ํค ๋จผ์ ์ ๋ ฌํ๊ณ ๋ชธ๋ฌด๊ฒ ์ ๋ ฌ!
๐ป
--์ซ์์์น๊ฐ์ผ๋ก ์ ๋ ฌํ๊ธฐ
SELECT studno, id, grade -- 1,2,3 ์์๋๋ก ORDER BY ์ ๋ ฌ ๊ธฐ์ค์ผ๋ก ํ์ฉ
FROM student
ORDER BY 3 DESC, 1, 2; --grade๋จผ์ ์ ๋ ฌ, ์ดํ์ studno, id ์์ผ๋ก ์ ๋ ฌ!
UNION ํฉ์งํฉ (์ค๋ณต์ ๊ฑฐ)
UNION ALL ํฉ์งํฉ (์ค๋ณต์ ๊ฑฐ์ํจ)
X INTERSECT ๊ต์งํฉ : ๊ฒน์น๋ ๋ถ๋ถ!
X MINUS ์ฐจ์งํฉ A-B: ๊ฒน์น๋ ๋ถ๋ถ ์ ์ธํ A๋ถ๋ถ
1) SELECT ์ปฌ๋ผ ๊ฐ์ ๋์ผ
2) SELECT ์ปฌ๋ผ ๋ฐ์ดํฐํ ๋์ผ
3) ์ปฌ๋ผ๋ช
์ ๋ฌ๋ผ๋ OK
--101๋ฒ ํ๊ณผ์ ์ํด ์๋ ํ์๊ณผ ๊ต์์ ์ ๋ณด๋ฅผ ์กฐํํ๊ณ ์ถ๋ค.
--ํ๋ฒ/๊ต์๋ฒํธ ์ด๋ฆ ์์ด๋
SELECT studno "ํ๋ฒ/๊ต์๋ฒํธ", name ์ด๋ฆ, id ์์ด๋
FROM student
WHERE deptno1 = 101
UNION ALL
SELECT profno, name, id
FROM professor
WHERE deptno = 101;
๐ป