๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Deep knowledge/โœ” ๋งˆ์ผ€ํ„ฐ์˜ ๋ฐ์ดํ„ฐ ๋ถ„์„

SQL๊ฐœ๋ฐœ์ž-2: DML(์กฐํšŒ) - SELECT, SELECT DISTINCT

๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ด DML

1) INSERT (์‚ฝ์ž…)

2) UPDATE (์ˆ˜์ •)

3) DELETE (์‚ญ์ œ)

4) SELECT (์กฐํšŒ)

5) SELECT DISTINCT

 

DML(INSERT, UPDATE, DELETE), TCL(COMMIT, ROLLBACK, SAVEPOINT)์— ๋Œ€ํ•ด ๊ถ๊ธˆํ•˜๋‹ค๋ฉด?

https://hibeginner.tistory.com/18 

 

SQL๊ฐœ๋ฐœ์ž: SQL์˜ ๊ธฐ๋ณธ๊ณผ DML, TCL

SQL์˜ ๊ธฐ๋ณธ 1. ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๊ฐœ์š” 1) ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ž€? ๋ฐ์ดํ„ฐ: ์ˆ˜, ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋‹จ์œ„, ๊ฐ๊ด€์ ์ธ ์‚ฌ์‹ค ์ •๋ณด: ์ž๋ฃŒ๋ฅผ ๊ฐ€๊ณตํ•ด์„œ ์˜๋ฏธ๋ฅผ ์–ป๋Š” ๊ฒƒ (ํ†ต๊ณ„, ํ•ฉ๊ณ„, ๊ทธ๋ฃนํ•‘ ๋“ฑ์„ ํ†ตํ•ด ์ธ์‚ฌ์ดํŠธ๋ฅผ

hibeginner.tistory.com

 


4) SELECT ๋ฌธ: ์กฐํšŒ

> ์–ด๋””์„œ ๊ฐ€์ ธ์˜ฌ ๊ฒƒ์ธ๊ฐ€ (FROM ํ…Œ์ด๋ธ” ๋ช…)

> ์–ด๋–ป๊ฒŒ ๊ฐ€์ ธ์˜ฌ ๊ฒƒ์ธ๊ฐ€ (์กฐ๊ฑด์‹, ์ •๋ ฌ)

> ์–ด๋–ค ๊ฐ’์„ ์ถœ๋ ฅํ•  ๊ฒƒ์ธ๊ฐ€ (์—ด ์ด๋ฆ„)

SELECT ์—ด์ด๋ฆ„ [as ๋ณ„์นญ] --> as(ALIAS) : ๋ณ„๋ช…, ๋ณ„์นญ
FROM ํ…Œ์ด๋ธ”๋ช…
[WHERE] ์กฐ๊ฑด์‹
[ORDER BY ์—ด์ด๋ฆ„ [ASC or DESC]];

tip!

1. SQL๋ฌธ์€ ๋Œ€๋ฌธ์ž, ๋‚˜๋จธ์ง€ ์—ด์ด๋‚˜ ํ…Œ์ด๋ธ”์€ ์†Œ๋ฌธ์ž

2. ์—ฌ๋Ÿฌ ์ค„, ๊ณต๋ฐฑ์„ ์ด์šฉ

3. ๊ตฌ์กฐ์  ํ† ๋“œ๋Š” ๋“ค์—ฌ์“ฐ๊ธฐ ์ด์šฉ (๊ฐ€๋…์„ฑ)

 

์ „์ฒด ๋ฐ์ดํ„ฐ ์กฐํšŒ

SELECT * FROM emp;

 

์ปฌ๋Ÿผ๋ช… ์ง€์ •

SELECT empno, ename, deptno FROM emp;

 

ALIAS(๋ณ„์นญ ๋„ฃ๊ธฐ)

SELECT empno AS ์ง์› ๋ฒˆํ˜ธ,
       ename AS ์ง์›๋ช…,
       deptno AS ๋ถ€์„œ๋ช…
FROM emp;

 

literal ๊ฐ’์œผ๋กœ ์ถœ๋ ฅ์—ด ์ถ”๊ฐ€

literal? ์†Œ์Šค ์ฝ”๋“œ์˜ ๊ณ ์ •๋œ ๊ฐ’์„ ๋Œ€ํ‘œํ•˜๋Š” ์šฉ์–ด, ๊ทธ ์ž์ฒด ์กด์žฌ๋งŒ์œผ๋กœ ๊ฐ’์„ ์˜๋ฏธ

SELECT
    empno AS ์ง์›๋ฒˆํ˜ธ,
    ename AS ์ด๋ฆ„,
    job AS ์ง๊ธ‰,
    'ํšŒ์‚ฌ๋ช…' AS company
FROM emp;

ํšŒ์‚ฌ๋ช…์ด ๊ฐ’์ด๋ผ์„œ ํ–‰์— ์ถœ๋ ฅ (์ด๋•Œ, ๊ฒฐ๊ณผ ๊ฐœ์ˆ˜๋งŒํผ ์ถœ๋ ฅ๋จ)

(์ด๋Ÿฐ๊ฑธ ์–ด๋”ฐ์“ฐ๋‚˜ ์ƒ๊ฐ๋งŒํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ, ์„ ์ƒ๋‹˜๊ป˜์„œ ์ด๋Ÿฐ๊ฑธ ์–ด๋”ฐ์“ฐ๋‚˜ ๊ถ๊ธˆํ•˜์ง€ ์•Š๋ƒ๊ณ  ๋ฌผ์–ด๋ณด์‹ฌ ์‹ ๊ธฐ^^)

์ถ”ํ›„์— UNION ๊ธฐ๋Šฅ ๋“ฑ ํ†ตํ•ด ๊ฐ’์„ ํ•ฉ์ณ์„œ ๋˜ ๋‹ค๋ฅธ ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜๋„ ์žˆ๋‹ค๊ณ  ํ•จ

(๊ทธ๋ž˜์„œ ์“ด๋‹ค๊ณ  ํ•˜์‹ฌ)

 

check point! COMPANY ํ–‰์— ํšŒ์‚ฌ๋ช…์ด ๋“ค์–ด๊ฐ€ ์žˆ์Œ, TYPE์— 1์˜ ์œ„์น˜ ์ •๋ ฌ์ด ์˜ค๋ฅธ์ชฝ= ์ˆซ์ž, ์ •๋ ฌ์ด ์™ผ์ชฝ = ๋ฌธ์ž

 

 

5) SELECT DISTICT๋ฌธ: ์กฐํšŒ, but ์ค‘๋ณต์„ ์ œ๊ฑฐ

SELECT DISTINCT
    deptno
FROM emp;

deptno ๋‚ด ๊ฐ’์ด ๊ฐ™์€ ๊ฐ’๋“ค์ด ์—ฌ๋Ÿฌ ๊ฐœ ์žˆ๋Š”๋ฐ, DISTINCTํ•œ ์ดํ›„๋กœ ์ค‘๋ณต๋œ ๊ฐ’์ด ์ œ๊ฑฐ๋˜๊ณ  ํ•˜๋‚˜๋งŒ ๋‚จ์Œ

check point! ์™ผ์ชฝ ์‚ฌ์ง„ 20์ด ์ด 3๊ฐœ๋กœ ์ค‘๋ณต๋œ ๊ฐ’์ด ๋‹ค ๋‚˜์˜ด, DISTINCT ํ•œ ์ดํ›„ ์ค‘๋ณต ๊ฐ’์ด ์‚ฌ๋ผ์ง

SELECT A, B FROM AAA
EXCEPT (MINUS)
SELECT A, B FROM BBB
์ค‘๋ณต ์ œ๊ฑฐ

SELECT A, B FROM AAA WHERE NOT EXISTS (SELECT...BBB)

 

tip! ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ์„ ๋–„ ์–ด๋–ค ์—ด์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋Š”์ง€ ์•„๋Š” ๋ฒ•! 34ํ–‰.. ๋‹ค ์„ธ์–ด๋ด์•ผํ•˜๋‚˜? no.. ์œ„์น˜ ํŒŒ์•…ํ•˜๊ธฐ

ํ˜„์žฌ 34ํ–‰, 5์—ด์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒ

์›Œํฌ์‹œํŠธ ๋ฐ‘์— ํ–‰๋ฒˆํ˜ธ ํ† ๊ธ€ ๋ˆ„๋ฅด๋ฉด ๋ฒˆํ˜ธ๊ฐ€ ๋‚˜์˜ด