๋ฐ์ดํฐ ์กฐ์์ด 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
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์ด์์ ์ค๋ฅ๊ฐ ๋ฐ์
์ํฌ์ํธ ๋ฐ์ ํ๋ฒํธ ํ ๊ธ ๋๋ฅด๋ฉด ๋ฒํธ๊ฐ ๋์ด
'Deep knowledge > โ ๋ง์ผํฐ์ ๋ฐ์ดํฐ ๋ถ์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
SQL๊ฐ๋ฐ์-3: ORDER BY(์ ๋ ฌ), WHERE(์กฐ๊ฑด์ ) (0) | 2021.12.23 |
---|---|
SQL๊ฐ๋ฐ์-1: SQL์ ๊ธฐ๋ณธ๊ณผ DML, TCL (0) | 2021.12.21 |