MapleStory Finger Point Cute Line Smiley Blinking Hello Kitty Angel MapleStory Finger Point

๐Ÿ’Ž DataBase/๐Ÿ’Ž SQL-PL,SQL

หšโ‚Šโœฉโ€งโ‚Š [SQL] DML (SELECT) ๋ช…๋ น หšโ‚Šโœฉโ€งโ‚Š

HYEJU01 2024. 6. 20. 01:38

[ ํ…Œ์ด๋ธ” ์กฐํšŒ (SELECT) ]

SELECT * FROM emp;
๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ์—†์ด ์ˆ˜ํ–‰๋˜์ง€๋งŒ
๋‚ด๋ถ€์ ์œผ๋ก  ๋Œ€,์†Œ๋ฌธ์ž๋Š” ์„œ๋กœ ๋‹ค๋ฅธ SQL ๋กœ ๊ตฌ๋ถ„์ด ๋œ๋‹ค
ํ‚ค์›Œ๋“œ ๋Œ€๋ฌธ์ž, ์ปฌ๋Ÿผ-์กฐ๊ฑด์€ ์†Œ๋ฌธ์ž๋กœ ์ž…๋ ฅ
๋งˆ๋ฌด๋ฆฌ ์„ธ๋ฏธ์ฝœ๋ก  ;

 

SELECT empno, ename FROM emp;
์›ํ•˜๋Š” ์ปฌ๋Ÿผ์ด๋ฆ„๋งŒ ๋„ฃ๊ณ  ์กฐํšŒ๊ฐ€๋Šฅ
,(์ฝค๋งˆ) ๋กœ ๊ตฌ๋ถ„

 

 

[ ํ‘œํ˜„์‹ Expression ]

SELECT dname, ' IT ''s deptno : ' FROM dept;
--ํ‘œํ˜„์‹ ์‚ฌ์šฉ Expression
ํ‘œํ˜„์‹ or ๋ฆฌํ„ฐ๋Ÿด์ด๋ผ๊ณ  ๋ถ€๋ฆ„
์ปฌ๋Ÿผ ์ด๋ฆ„ ์ด์™ธ๋กœ ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ
' ' ๋กœ ๋ฌถ์–ด์„œ ์‚ฌ์šฉ
๋Œ€์‹  ' ์€ '' ๋กœ ํ‘œํ˜„ํ•ด์„œ ์‚ฌ์šฉํ•ด์ค˜์•ผํ•œ๋‹ค.

 

 

[ ์ปฌ๋Ÿผ ๋ณ„์นญ ]

SELECT profno "Prof'NO" , name AS "Prof's Name", pay Prof_pay FROM professor;
-- ์ปฌ๋Ÿผ ๋ณ„์นญ ์‚ฌ์šฉ

1) ๊ณต๋ฐฑ ์ฃผ๊ณ  "" ์‚ฌ์šฉ
2) AS ์‚ฌ์šฉ
3) ๊ณต๋ฐฑ,ํŠน์ˆ˜๋ฌธ์ž,๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ํ•„์š”์‹œ์—๋Š” "" ํ•„์ˆ˜

DESC DESCRIBE--ํ…Œ์ด๋ธ”์— ์–ด๋–ค ์ปฌ๋Ÿผ์ด ์žˆ๋Š”์ง€ ํ™•์ธ

COL empno FOR 9999 -- ์ปฌ๋Ÿผ ๊ธธ์ด๋ฅผ ์ˆซ์ž 4์ž๋ฆฌ๊นŒ์ง€ ๋“ค์–ด๊ฐ€๊ฒŒ ์„ค์ •
COL ename FOR a8 -- ename ์ปฌ๋Ÿผ๊ธธ์ด๋ฅผ 8๋ฐ”์ดํŠธ๊นŒ์ง€ ๋“ค์–ด๊ฐ€๊ฒŒ ์„ค์ •
SET LINE 200 -- ํ•œ ํ™”๋ฉด์„ ๊ฐ€๋กœ๋กœ 200๋ฐ”์ดํŠธ๊นŒ์ง€ ์ถœ๋ ฅ
SET PAGES 50 --ํ•œํŽ˜์ด์ง€์— 50์ค„๊นŒ์ง€ ์ถœ๋ ฅ

 

 

[ ์ค‘๋ณต ์ œ๊ฑฐ DISTINCT ]

SELECT DISTINCT deptno FROM emp;
-- ์ค‘๋ณต๋œ ๊ฐ’ ์ œ๊ฑฐ, ์ถœ๋ ฅ
์˜ˆ์ „์—๋Š” ์ •๋ ฌ๋„ ๊ฐ™์ด ์ˆ˜ํ–‰ํ•ด์„œ ์†๋„ ์ €ํ•˜๊ฐ€ ์žˆ์—ˆ์œผ๋‚˜
์ตœ๊ทผ์—๋Š” ์ •๋ ฌ์ด ์—†์–ด์ ธ์„œ (ํ•ด์‰ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ณ€๊ฒฝ) ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜์—ˆ๋‹ค.

(์ฃผ์˜)
1๊ฐœ ์ปฌ๋Ÿผ์— ์ ์–ด์ค˜๋„ ๋ชจ๋“  ์ปฌ๋Ÿผ์— ์ ์šฉ๋จ !!
SELECT ํ‚ค์›Œ๋“œ ๋‹ค์Œ์— ์™€์•ผํ•จ !!

 

 

[ ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ž Concatenation]

SELECT ename || job FROM emp;
SELECT ename || ' ''s job is '|| job "NAME AND JOB" FROM emp;
์ปฌ๋Ÿผ์„ ์—ฐ๊ฒฐํ•ด์„œ ์ถœ๋ ฅ ๊ฐ€๋Šฅ
์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ž || (๋ฐ” ๊ธฐํ˜ธ ๋‘๋ฒˆ)

 

 

[ ์กฐ๊ฑด์ ˆ WHERE]

SELECT ์ปฌ๋Ÿผorํ‘œํ˜„์‹ FROM ํ…Œ์ด๋ธ”or๋ทฐ WHERE ์›ํ•˜๋Š” ์กฐ๊ฑด;
SELECT empno, ename FROM emp WHERE empno = 7900;
-- ์กฐ๊ฑด์ ˆ
where ์ ˆ์€ from ์•„๋ž˜์— ์™€์•ผํ•œ๋‹ค.
๋ฌธ์ž,๋‚ ์งœ ์กฐํšŒ๋Š” '' ๋”ฐ์˜ดํ‘œ ํ•„์ˆ˜
๋ฌธ์ž ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ํ•„์ˆ˜

์œˆ๋„์šฉ์˜ค๋ผํด - ์œ ๋‹‰์Šค(๋ฆฌ๋ˆ…์Šค)๊ณ„์—ด ์˜ค๋ผํด ์€ ๋‚ ์งœ ํ‘œ์‹œ ํ˜•ํƒœ๊ฐ€ ๋‹ฌ๋ผ์„œ ์—๋Ÿฌ๋‚˜๋Š” ๊ฒฝ์šฐ ๋งŽ๋‹ค

 

 

[ ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž ]

SELECT ename, sal , sal+100 FROM emp WEHRE deptno = 10;
-- ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž

 

 

[ ๊ตฌ๊ฐ„๋ฐ์ดํ„ฐ ์กฐํšŒ BETWEEN ]

SELECT sal FROM emp WHERE sal BETWEEN 2000 AND 3000;
-- ๊ตฌ๊ฐ„๋ฐ์ดํ„ฐ ์กฐํšŒ BETWEEN

1) ์ž‘์€ ๊ฐ’์„ ์•ž์—, ํฐ๊ฐ’์„๋’ค์—
2) ๋‘ ๊ฐ’์„ ๋ชจ๋‘ ํฌํ•จํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค

 

SELECT sal FROM emp WHERE sal >= 2000 AND sal <= 3000;
-- ๋น„๊ต์—ฐ์‚ฐ์ž๋ฅผ ์“ฐ๋Š” ๊ฒƒ์„ ๊ถŒ์žฅ
์ถœ๋ ฅ ๊ฒฐ๊ณผ๋Š” ๊ฐ™์•„๋„ ์†๋„๊ฐ€ ๋” ๋น ๋ฆ„!!

 

 

โ˜†* [ IN ์—ฐ์‚ฐ์ž ] 

SELECT empno, ename, deptno FROM emp WEHRE deptno IN (10,20);
-- IN ์—ฐ์‚ฐ์ž ์—ฌ๋Ÿฌ์กฐ๊ฑด ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ฒ€์ƒ‰
์†๋„๊ฐ€ ๋งค์šฐ ๋นจ๋ผ์„œ ์ž์ฃผ ์‚ฌ์šฉ๋จ

 

 

โ˜†* [ LIKE ์—ฐ์‚ฐ์ž 

SELECT sal FROM emp WEHRE sal LIKE '1%'

-- ๋น„์Šทํ•œ ๊ฒƒ๋“ค ์ฐพ๊ธฐ

1) % : ๊ธ€์ž์ˆ˜ ์ œํ•œ์—†๊ณ  ์–ด๋–ค ๊ธ€์ž ์ƒ๊ด€ ์—†์Œ
2) _ : ๊ธ€์ž์ˆ˜๋Š” ํ•œ๊ธ€์ž๋งŒ ์˜ฌ ์ˆ˜ ์žˆ๊ณ  ์–ด๋–ค ๊ธ€์ž ์ƒ๊ด€์—†์Œ

%, _ ๊ฐ€์žฅ ๋จผ์ € ์“ฐ์ง€ ์•Š๊ธฐ !
%,_ ์œ„์น˜๊ฐ€ ์ค‘์š”ํ•จ ์กฐ๊ฑด์— ๋จผ์ € ๋‚˜์˜ฌ ๊ฒฝ์šฐ ์„ฑ๋Šฅ ์ตœ์•…
-> ์ธ๋ฑ์Šค์™€ ์—ฐ๊ด€ ( โ˜†*)

 

 

[ IS NULL / IS NOT NULL  

SELECT empno, ename, comm FROM emp WHERE comm IS NULL;
SELECT empno, ename, comm FROM emp WHERE comm IS NOT NULL;

NULL ์€ ๊ฐ’์„ ๋ชจ๋ฅธ๋‹ค๋Š” ์˜๋ฏธ = ์—ฐ์‚ฐ์ž ๋ถˆ๊ฐ€๋Šฅ
NULL ๊ฐ’์œผ๋กœ ์ธํ•ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ผ์ด ๋งŽ์œผ๋ฏ€๋กœ ์กฐ์‹ฌ

 

 

 

[ AND , OR  

--๊ฒ€์ƒ‰ ์กฐ๊ฑด์ด ๋‘๊ฐ€์ง€ ์ด์ƒ์ผ ๊ฒฝ์šฐ

SELECT empno, ename, sal ,comm FROM emp WHERE sal > 1000 AND (comm < 1000 OR comm IS NULL);

AND *๊ฐ€ ๋จผ์ € ์ˆ˜ํ–‰๋˜๊ณ  OR+ ์ด ์ˆ˜ํ–‰๋จ
๊ด„ํ˜ธ ์‚ฌ์šฉํ•ด์„œ ์šฐ์„  ์ˆ˜ํ–‰ ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ

 

 

[ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์กฐ๊ฑด ์ž…๋ ฅ ๋ฐ›๊ธฐ ] 

SELECT empn, ename, sal FROM emp WHERE empno = &empno;

-- & ๊ธฐํ˜ธ

-- ๋ชจ๋“  ์ ˆ์— ์‚ฌ์šฉ๊ฐ€๋Šฅ !

SET verify OFF -- old new ์ถœ๋ ฅ ์•ˆ๋ณด์ด๊ฒŒ ํ•˜๊ธฐ

 

 

 

[ ORDER BY -- ์ •๋ ฌ 

SELECT ename, sal, hiredate FROM emp ORDER BY ename;

์˜ค๋ฆ„์ฐจ์ˆœ (๊ธฐ๋ณธ๊ฐ’) : ASC
๋‚ด๋ฆผ์ฐจ์ˆœ : DESC
SQL ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ์œ„์น˜ํ•ด์•ผํ•œ๋‹ค.
order by ๋งŽ์ด ์“ธ ์ˆ˜๋ก ์ˆ˜ํ–‰์†๋„๊ฐ€ ๋Šฆ์–ด์ง„๋‹ค.
์ตœ๋Œ€ํ•œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค !!! --> ๋Œ€์ฒด ์ธ๋ฑ์Šค ( โ˜†*)

 

ORDER BY 2,1 ; -- select ์ ˆ์— ์˜ค๋Š” ์ปฌ๋Ÿผ์˜ ์ˆœ์„œ
์ปฌ๋Ÿผ ๋ณ„์นญ, ์ปฌ๋Ÿผ ์ˆœ์„œ ๋“ฑ์œผ๋กœ ์ •๋ ฌ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

[ ์ง‘ํ•ฉ์—ฐ์‚ฐ์ž SET OPERATOR  

์—ฌ๋Ÿฌ๊ฑด์˜ ๋ฐ์ดํ„ฐ๋“ค์„ ์ง‘ํ•ฉ ์—ฐ์‚ฐํ•˜๋Š” ๊ฒƒ

 

UNION -- ํ•ฉ์ณ์„œ ์ค‘๋ณต๊ฐ’, ์ œ๊ฑฐ, ์ •๋ ฌ

UNION ALL -- ํ•ฉ์ณ์„œ ์ค‘๋ณต๊ฐ’, ์ œ๊ฑฐ ์—†์ด, ์ •๋ ฌ ์•ˆํ•จ

โ˜†* UNION ์„ฑ๋Šฅ์ด ๋งค์šฐ ๋–จ์–ด์ง€๋ฏ€๋กœ -- DECODE , CASE ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๋Š” ์Šต๊ด€!

 

INTERSECT -- ๊ต์ง‘ํ•ฉ ๊ฒฐ๊ณผ , ์ •๋ ฌ
์ •๋ ฌ์„ ๋™๋ฐ˜ํ•œ๋‹ค? ์„ฑ๋Šฅ ์•ˆ์ข‹์Œ.

 

MINUS -- ์ฐจ์ง‘ํ•ฉ ๊ฒฐ๊ณผ, ์ •๋ ฌ, (์ฟผ๋ฆฌ ์ˆœ์„œ ์ค‘์š”)
ํฐ ์ง‘ํ•ฉ์—์„œ ์ž‘์€ ์ง‘ํ•ฉ์„ ๋นผ๋Š” ์—ฐ์‚ฐ์ž

์ •๋ ฌํ•˜๋ฏ€๋กœ  ์„ฑ๋Šฅ ์•ˆ์ข‹์Œ.

 

1) ๋‘ ์ง‘ํ•ฉ์˜ select ์ ˆ ์ปฌ๋Ÿผ ๊ฐœ์ˆ˜๊ฐ€ ๋™์ผํ•ด์•ผํ•จ
2) ๋‘ ์ง‘ํ•ฉ์˜ select ์ ˆ์— ์˜ค๋Š” ์ปฌ๋Ÿผ ๋ฐ์ดํ„ฐ ํ˜•์ด ๋™์ผ
3) ์ปฌ๋Ÿผ๋ช…์€ ๋‹ฌ๋ผ๋„ ์ƒ๊ด€ ์—†์Œ