SQL/SQL_์ด๋ก
SQL ๊ธฐ๋ณธ
2์ฃผ๋
2023. 9. 8. 09:29
๋ฐ์ํ
๐ SQL ๊ธฐ๋ณธ์ด๋ก
-- sql-developr ํด : DB ์ ์ ํด(== DB ํด๋ผ์ด์ธํธ ํด)
-- oracle ์ค์น : DB ์๋ฒ
-- DB์๋ฒ <- ์ฌ์ฉ์๊ฐ ์ ์ํด์ ์ฌ์ฉํจ(๊ณ์ /์ํธ)
-- system ๊ณ์ : ๊ด๋ฆฌ์( ๊ณ์ ์์ฑ, ๊ถํ๊ด๋ฆฌ ๋๋ DB ํ๊ฒฝ๊ด๋ฆฌ์ฉ์ผ๋ก ์ฌ์ฉ)
-- scott ๊ณ์ : ๊ฐ๋ฐ์(์ฌ์ฉ์) ๊ณ์ -> ๋ฒก์๋ ๊ฐ๋ฐ์ ์งํํจ
-- sql-developer ํด ๋จ์ถํค :
-- 1) ์ฃผ์ : ctrl + /
-- 2) ์ปค์ ์์น ํ์ค ์คํ : ctrl + enter (์์ด์ฝ : ์ผ๊ฐํ)
-- 3) ์ฌ๋ฌ ์ค ์คํ : f5 (์์ด์ฝ : ๋ฌธ์ + ์ผ๊ฐํ)
-- SQL ์ง์๋ฌธ(query)ํน์ง : ๋์๋ฌธ์ ๊ตฌ๋ถ ์์(์ค๋ผํด DB : ๋๋ฌธ์๊ฐ ์ฑ๋ฅ์ด ๋น ๋ฆ)
-- DB(๋ฐ์ดํฐ๋ฒ ์ด์ค) : ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌ ๋๋ ์ ์ฅํ๊ธฐ ์ํ ์ต์๋จ์ : ํ
์ด๋ธ
-- 1) SQL ๋ฌธ : ๊ฒ์(์กฐํ): SELECT ~ FROM ๋ฌธ
-- ์ฌ์ฉ๋ฒ) SELECT ์ปฌ๋ผ๋ช
, ์ปฌ๋ผ๋ช
2... FROM ํ
์ด๋ธ๋ช
;
-- * : ๋ชจ๋ ์ปฌ๋ผ


๐ ์ ์ฒด๋ฅผ ์๋ฏธํ๋ *
SELECT * FROM DEPARTMENT; -- ์ ์ฒด๋ถ์๋ฅผ ์กฐํํ๋ ์ฟผ๋ฆฌ(์ง์๋ฌธ)
-- ์์ 1) ์ฌ์ํ
์ด๋ธ์ ๋ชจ๋ ์ปฌ๋ผ ์ ๋ณด๋ฅผ ๋ณด๊ธฐ
SELECT * FROM EMPLOYEE;
๐ SELECT (์ปฌ๋ผ๋ช ....) FROM ํ ์ด๋ธ๋ช : ํด๋น ํ ์ด๋ธ์์ ํด๋น ์ปฌ๋ผ๋ง ์กฐํ
-- ์์ 2) ์ฌ์ํ
์ด๋ธ์ ์ปฌ๋ผ ์ค ENO, ENAME ์ปฌ๋ผ๋ง ์ ๋ณด๋ฅผ ๋ณด๊ธฐ
SELECT ENO, ENAME FROM EMPLOYEE;
-- ์์ 3) ๋ถ์ํ
์ด๋ธ์ ์ปฌ๋ผ ์ค DNO, LOC ์ปฌ๋ผ๋ง ์กฐํํ๊ธฐ
SELECT DNO, LOC FROM DEPARTMENT;
-- ์์ 4) ํํธ) ์ปฌ๋ผ์ (/, +, -:) ์ฐ์ฐ์ ์ฌ์ฉํด๋ณด๊ธฐ
-- ์ฌ์ํ
์ด๋ธ : EMPLYOEE
-- ์๊ธ : SALARY
-- ์ฌ์๋ช
: ENAME
-- ์ฌ์ ํ
์ด๋ธ์์ ์ฌ์๋ช
๊ณผ 1๋
์ฐ๋ด์ ํ๋ฉด์ ์ถ๋ ฅํด๋ณด์ธ์
SELECT ENAME ,(SALARY*12) FROM EMPLOYEE;
-- ์์ 5) ์ฌ์ํ
์ด๋ธ์์ ์ฌ์์ด๋ฆ๊ณผ ์ปค๋ฏธ์
์ ๋ํ ์ฐ๋ด ๊ตฌํ๊ธฐ
SELECT ENAME,(SALARY*12)+COMMISSION FROM EMPLOYEE;
-- ์์ 5-2) ์์ ๋ฐ์ดํฐ ๊ฐ ๋ณด์ ํ๊ธฐ
-- NULL ํน์ง : NULL๊ณผ ์ฐ์ ์ฐ์ฐ์ ํ ์ ์์ (๊ฒฐ๊ณผ : NULL)
-- ํจ์ : ์ฌ์ฉ๋ฒ : NVL(NULL ๊ฐ์ด ์๋ ์ปฌ๋ผ, ๋ณ๊ฒฝ๋ ๊ฐ)
SELECT ENAME,(SALARY*12)+NVL(COMMISSION, 0) FROM EMPLOYEE;
๐ alias : ์ปฌ๋ผ์ ๋ณ์นญ ๋ถ์ด๊ธฐ
-- ์์ 6) ์ปฌ๋ผ์ ๋ณ๋ช
(๋ณ์นญ) ๋ถ์ด๊ธฐ
-- ์ฌ์ฉ๋ฒ) SELECT ์ปฌ๋ผ๋ช
AS ๋ณ๋ช
FROM ํ
์ด๋ธ๋ช
;
SELECT ENAME,(SALARY*12)+NVL(COMMISSION, 0) AS ์ฐ๋ด FROM EMPLOYEE;
-- ์์ 6-2) ๋ณ๋ช
์ ๊ณต๋ฐฑ์ ๋ฃ์ด์ ์ฌ์ฉํ๊ธฐ : ""(์๋ฐ์ดํ ์ฌ์ฉ)
SELECT ENAME,(SALARY*12)+NVL(COMMISSION, 0) AS "์ฐ ๋ด" FROM EMPLOYEE;
๐ ์ค๋ณต์ ์ ๊ฑฐํ๋ DISTINCT
-- ์์ 7) ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ํ๋ฒ์ฉ๋ง ์ถ๋ ฅํ๊ฒ ํ๋ ์์
-- ์ฌ์ฉ๋ฒ) SELECT DISTINCT ์ค๋ณต์ปฌ๋ผ๋ช
FROM ํ
์ด๋ธ๋ช
;
-- ์ฌ์ํ
์ด๋ธ์ ๋ถ์๋ฒํธ(DNO)๋ฅผ ์ค๋ณต์ ์ ๊ฑฐํด์ ํ๋ฉด์ ์ถ๋ ฅํ๊ธฐ
SELECT DISTINCT DNO FROM EMPLOYEE;
-- ๋น๊ต) ์๋ณธ DNO ์ง์๋ฌธ
SELECT DNO FROM EMPLOYEE;
๐ ํ ์คํธ ํ ์ด๋ธ DUAL
-- ์์ 8) ๊ฐ๋จํ ์ฐ์ ์ฐ์ฐ ๋ฐ ํ
์คํธ ์ฉ๋ ํ
์ด๋ธ ์๊ฐ
-- DUAL ํ
์ด๋ธ : ํ
์คํธ์ฉ ํ
์ด๋ธ
SELECT * FROM DUAL;
-- ํ์ฉ๋)
SELECT 4*5+1 FROM DUAL;
-- SQL ๋ฌธ์ ๋ฌธ์์ด : '๋ฌธ์์ด' : ํ๋ฐ์ดํ ์ฌ์ฉ
SELECT 'ํ๊ธธ๋' FROM DUAL;
-- ์ค๋ ๋ ์ง : SYSDATE ์์ฑ
SELECT SYSDATE FROM DUAL;
๋ฐ์ํ