๋ชฉ์ฐจ
1. 23.10.18(๋ชฉ)
1. 20231019_01_scott.sql
SELECT USER
FROM DUAL;
--==>> SCOTT
/* 20231018-7-๊ฐ์ด ํผ ๋ด์ฉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--โ TBL_EMP ํ
์ด๋ธ์์ 20๋ฒ ๋ถ์์ ๊ทผ๋ฌดํ์ง ์๋ ์ง์๋ค์
-- ์ฌ์๋ช
, ์ง์ข
๋ช
, ๋ถ์๋ฒํธ ํญ๋ชฉ์ ์กฐํํ๋ค.
DESC TBL_EMP;
SELECT EMPNO "์ฌ์๋ช
", JOB "์ง์ข
๋ช
", DEPTNO "๋ถ์๋ฒํธ"
FROM TBL_EMP
WHERE 20๋ฒ ๋ถ์์ ๊ทผ๋ฌดํ์ง ์๋;
SELECT EMPNO "์ฌ์๋ช
", JOB "์ง์ข
๋ช
", DEPTNO "๋ถ์๋ฒํธ"
FROM TBL_EMP
WHERE ๋ถ์๋ฒํธ๊ฐ 20๋ฒ์ด ์๋๋ค;
SELECT EMPNO "์ฌ์๋ช
", JOB "์ง์ข
๋ช
", DEPTNO "๋ถ์๋ฒํธ"
FROM TBL_EMP
WHERE DEPTNO != 20;
SELECT EMPNO "์ฌ์๋ช
", JOB "์ง์ข
๋ช
", DEPTNO "๋ถ์๋ฒํธ"
FROM TBL_EMP
WHERE DEPTNO <> 20;
SELECT EMPNO "์ฌ์๋ช
", JOB "์ง์ข
๋ช
", DEPTNO "๋ถ์๋ฒํธ"
FROM TBL_EMP
WHERE DEPTNO ^= 20;
--==>>
/*
7499 SALESMAN 30
7521 SALESMAN 30
7654 SALESMAN 30
7698 MANAGER 30
7782 MANAGER 10
7839 PRESIDENT 10
7844 SALESMAN 30
7900 CLERK 30
7934 CLERK 10
*/
/* 1-๋ฌธ์ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--โ TBL_EMP ํ
์ด๋ธ์์ ์ปค๋ฏธ์
์ด NULL ์ด ์๋ ์ง์๋ค์
-- ์ฌ์๋ช
, ์ง์ข
๋ช
, ๊ธ์ฌ, ์ปค๋ฏธ์
ํญ๋ชฉ์ ์กฐํํ๋ค.
SELECT ENAME "์ฌ์๋ช
", JOB "์ง์ข
๋ช
", SAL "๊ธ์ฌ", COMM "์ปค๋ฏธ์
"
FROM TBL_EMP
WHERE COMM IS NOT NULL;
/* 1-๊ฐ์ด ํผ ๋ด์ฉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
SELECT ENAME "์ฌ์๋ช
", JOB "์ง์ข
๋ช
", SAL "๊ธ์ฌ", COMM "์ปค๋ฏธ์
"
FROM TBL_EMP
WHERE ์ปค๋ฏธ์
์ด NULL์ด ์๋;
SELECT ENAME "์ฌ์๋ช
", JOB "์ง์ข
๋ช
", SAL "๊ธ์ฌ", COMM "์ปค๋ฏธ์
"
FROM TBL_EMP
WHERE COMM์ด NULL์ด ์๋;
SELECT ENAME "์ฌ์๋ช
", JOB "์ง์ข
๋ช
", SAL "๊ธ์ฌ", COMM "์ปค๋ฏธ์
"
FROM TBL_EMP
--WHERE COMM != NULL;
--WHERE COMM <> NULL;
WHERE COMM ^= NULL;
==>> ์กฐํ๊ฒฐ๊ณผ ์์
SELECT ENAME "์ฌ์๋ช
", JOB "์ง์ข
๋ช
", SAL "๊ธ์ฌ", COMM "์ปค๋ฏธ์
"
FROM TBL_EMP
WHERE COMM IS NULL; -- && -> AND || -> OR ! -> NOT
SELECT ENAME "์ฌ์๋ช
", JOB "์ง์ข
๋ช
", SAL "๊ธ์ฌ", COMM "์ปค๋ฏธ์
"
FROM TBL_EMP
WHERE COMM IS NOT NULL;
/*
ALLEN SALESMAN 1600 300
WARD SALESMAN 1250 500
MARTIN SALESMAN 1250 1400
TURNER SALESMAN 1500 0
*/
SELECT ENAME "์ฌ์๋ช
", JOB "์ง์ข
๋ช
", SAL "๊ธ์ฌ", COMM "์ปค๋ฏธ์
"
FROM TBL_EMP
WHERE NOT COMM IS NULL;
--** NOT์ ์์ผ๋ก ์ฎ๊ฒจ๋ ๋
ผ๋ฆฌ์ ์ผ๋ก ๊ฐ๋ฅ
--==>>
/*
ALLEN SALESMAN 1600 300
WARD SALESMAN 1250 500
MARTIN SALESMAN 1250 1400
TURNER SALESMAN 1500 0
*/
/* 2-๋ฌธ์ & ๊ฐ์ด ํผ ๋ด์ฉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--โ TBL_EMP ํ
์ด๋ธ์์ ๋ชจ๋ ์ฌ์๋ค์ --** ๋ชจ๋ ์ฌ์๋ค: WHERE ์กฐ๊ฑด์ด ์๋ค๋ ๋ป
-- ์ฌ์๋ฒํธ, ์ฌ์๋ช
, ๊ธ์ฌ, ์ปค๋ฏธ์
, ์ฐ๋ด ํญ๋ชฉ์ ์กฐํํ๋ค.
-- ๋จ, ๊ธ์ฌ(SAL)๋ ๋งค์ ์ง๊ธํ๋ค.
-- ๋ํ, ์๋น(COMM)์ ์ฐ 1ํ ์ง๊ธํ๋ฉฐ, ์ฐ๋ด ๋ด์ญ์ ํฌํจ๋๋ค.
SELECT EMPNO "์ฌ์๋ฒํธ", ENAME "์ฌ์๋ช
", SAL "๊ธ์ฌ", COMM "์ปค๋ฏธ์
", ๊ธ์ฌ*12+์ฐ๋ด
FROM TBL_EMP;
SELECT EMPNO "์ฌ์๋ฒํธ", ENAME "์ฌ์๋ช
", SAL "๊ธ์ฌ", COMM "์ปค๋ฏธ์
", (SAL*12)+COMM "๊ธ์ฌ"
FROM TBL_EMP;
--==>> ๊ฐ์ด ๋์ค๊ธดํ๋, COMM ์ด NULL ์ธ ๊ฒฝ์ฐ ๊ฐ์ด NULL๋ก ๋์ค๋ ๋ฌธ์ ๊ฐ ๋์ถ
--โ NVL()
--์ฒซ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ ๊ฐ์ด NULL ์ด๋ฉด, ๋ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ ๊ฐ์ ๋ฐํํ๋ค.
--์ฒซ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ ์์ด NULL ์ด ์๋๋ฉด, ๊ทธ ๊ฐ์ ๊ทธ๋๋ก ๋ฐํํ๋ค.
SELECT NULL "COL1", NVL(NULL,10) "COL2", NVL(5, 10) "COL3"
FROM DUAL;
--==>> (NULL) 10 5
SELECT ENAME "์ฌ์๋ช
", COMM "์๋น"
FROM TBL_EMP;
SELECT ENAME "์ฌ์๋ช
", NVL(COMM,1234) "์๋น"
FROM TBL_EMP;
SELECT EMPNO "์ฌ์๋ฒํธ", ENAME "์ฌ์๋ช
", SAL "๊ธ์ฌ", COMM "์ปค๋ฏธ์
"
, SAL*12+NVL(COMM,0) "์ฐ๋ด"
FROM TBL_EMP;
/*
7369 SMITH 800 (NULL) 9600
7499 ALLEN 1600 300 19500
7521 WARD 1250 500 15500
7566 JONES 2975 (NULL) 35700
7654 MARTIN 1250 1400 16400
7698 BLAKE 2850 (NULL) 34200
7782 CLARK 2450 (NULL) 29400
7788 SCOTT 3000 (NULL) 36000
7839 KING 5000 (NULL) 60000
7844 TURNER 1500 0 18000
7876 ADAMS 1100 (NULL) 13200
7900 JAMES 950 11400
7902 FORD 3000 (NULL) 36000
7934 MILLER 1300 (NULL) 15600
*/
SELECT EMPNO "์ฌ์๋ฒํธ", ENAME "์ฌ์๋ช
", SAL "๊ธ์ฌ", COMM "์ปค๋ฏธ์
"
, NVL(SAL*12*COMM, SAL*12) "์ฐ๋ด"
FROM TBL_EMP;
--โ NVL2()
--> ์ฒซ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ ๊ฐ์ด NULL ์ด ์๋ ๊ฒฝ์ฐ, ๋ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ ๊ฐ์ ๋ฐํํ๊ณ
-- ์ฒซ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ ๊ฐ์ด NULL ์ธ ๊ฒฝ์ฐ, ์ธ ๋ฒ์งธ ํ๋ฆฌ๋ฏธํฐ ๊ฐ์ ๋ฐํํ๋ค.
SELECT ENAME "์ฌ์๋ช
", NVL2(COMM, '์ฒญ๊ธฐ์ฌ๋ ค', '๋ฐฑ๊ธฐ์ฌ๋ ค')"์๋นํ์ธ"
FROM TBL_EMP;
SELECT EMPNO "์ฌ์๋ฒํธ", ENAME "์ฌ์๋ช
", SAL "๊ธ์ฌ", COMM "์ปค๋ฏธ์
"
, NVL2(COMM, SAL*12+COMM, SAL*12) "์ฐ๋ด"
FROM TBL_EMP;
SELECT EMPNO "์ฌ์๋ฒํธ", ENAME "์ฌ์๋ช
", SAL "๊ธ์ฌ", COMM "์ปค๋ฏธ์
"
, SAL*12+NVL2(COMM, COMM, 0) "์ฐ๋ด"
FROM TBL_EMP;
--โ COALESCE()
--> ๋งค๊ฐ๋ณ์ ์ ํ์ด ์๋ ํํ๋ก ์ธ์งํ๊ณ ํ์ฉํ๋ค.
-- ๋งจ ์์ ์๋ ๋งค๊ฐ๋ณ์๋ถํฐ ์ฐจ๋ก๋ก NULL ์ธ์ง ์๋์ง ํ์ธํ์ฌ
-- NULL ์ด ์๋ ๊ฒฝ์ฐ ๊ทธ ๊ฐ์ ๋ฐํํ๊ณ ,
-- NULL ์ธ ๊ฒฝ์ฐ์๋ ๊ทธ ๋ค์ ๋งค๊ฐ๋ณ์์ ๊ฐ์ ๋ฐํํ๋ค.
-- NVL()์ด๋ NVL2() ์ ๋น๊ตํ์ ๋
-- ๋ชจ~~~~ ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ณ ๋ คํ ์ ์๋ค๋ ํน์ง์ ๊ฐ๋๋ค.
SELECT NULL"COL1"
, COALESCE(NULL, NULL, NULL, 40) "COL2"
, COALESCE(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 100) "COL3"
, COALESCE(NULL, NULL, 30, NULL, NULL, 60) "COL4"
, COALESCE(10, NULL, NULL, NULL, NULL, 60) "COL5"
FROM DUAL;
--==>> 40 100 30 10
INSERT INTO TBL_EMP(EMPNO, ENAME, JOB, MGR, HIREDATE, DEPTNO)
VALUES(8000, '๊น๋๋ฆฌ', 'SALESMAN', 7369, SYSDATE, 10);
--==>> 1 ํ ์ด(๊ฐ) ์ฝ์
๋์์ต๋๋ค.
INSERT INTO TBL_EMP(EMPNO, ENAME, JOB, MGR, HIREDATE, DEPTNO,COMM)
VALUES(8001, '๋ฐ๋์น', 'SALSESMAN',7369, SYSDATE, 10, 10);
--==>> 1 ํ ์ด(๊ฐ) ์ฝ์
๋์์ต๋๋ค.
--โ ํ์ธ
SELECT *
FROM TBL_EMP;
/*
8000 ๊น๋๋ฆฌ SALESMAN 7369 2023-10-19 (NULL) (NULL) 10
8001 ๋ฐ๋์น SALSESMAN 7369 2023-10-19 (NULL) 10 10
*/
--โ ์ปค๋ฐ
COMMIT;
--==> ์ปค๋ฐ ์๋ฃ.
/* 3-๋ฌธ์ & ๊ฐ์ด ํผ ๋ด์ฉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--โ TBL_EMP ํ
์ด๋ธ์์ ๋ชจ๋ ์ฌ์๋ค์
-- ์ฌ์๋ฒํธ, ์ฌ์๋ช
, ๊ธ์ฌ, ์ปค๋ฏธ์
, ์ฐ๋ด ํญ๋ชฉ์ ์กฐํํ๋ค.
-- ๋จ, ๊ธ์ฌ(SAL)๋ ๋งค์ ์ง๊ธํ๋ค.
-- ๋ํ, ์๋น(COMM)์ ์ฐ 1ํ ์ง๊ธํ๋ฉฐ, ์ฐ๋ด ๋ด์ญ์ ํฌํจ๋๋ค.
SELECT EMPNO "์ฌ์๋ฒํธ", ENAME "์ฌ์๋ช
", SAL "๊ธ์ฌ", COMM "์ปค๋ฏธ์
"
,COALESCE(SAL*12+COMM, SAL*12, COMM, 0) "์ฐ๋ด"
FROM TBL_EMP;
--โป ๋ ์ง์ ๋ํ ์ธ์
์ค์ ๋ณ๊ฒฝ
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH:MI:SS';
--==>> Session์ด(๊ฐ) ๋ณ๊ฒฝ๋์์ต๋๋ค.
--โ ์ปฌ๋ผ๊ณผ ์ปฌ๋ผ์ ์ฐ๊ฒฐ(๊ฒฐํฉ)
SELECT 1,2
FROM DUAL;
--==>> 1 2
SELECT 1+2
FROM DUAL;
--** ์จ์ ํ ๊ฒฐํฉ์ด๋ผ๊ณ ๋ณด๊ธฐ ์ด๋ ค์, ํ๋์ ์ปฌ๋ผ์ ์ฐ์ฐ์ ๋ฃ์ ๊ฒ
SELECT '๊น๋๋ฆฌ', '๋ฐ๋์น'
FROM DUAL;
SELECT '๊น๋๋ฆฌ' + '๋ฐ๋์น'
FROM DUAL;
--=>> ์๋ฌ๋ฐ์(ORA-01722: invalid number)
SELECT '๊น๋๋ฆฌ' || '๋ฐ๋์น'
FROM DUAL;
--==>> ๊น๋๋ฆฌ๋ฐ๋์น
SELECT ENAME, JOB
FROM TBL_EMP;
SELECT ENAME || JOB
FROM TBL_EMP;
--==>>
/*
SMITHCLERK
ALLENSALESMAN
WARDSALESMAN
JONESMANAGER
MARTINSALESMAN
BLAKEMANAGER
CLARKMANAGER
SCOTTANALYST
KINGPRESIDENT
TURNERSALESMAN
ADAMSCLERK
JAMESCLERK
FORDANALYST
MILLERCLERK
๊น๋๋ฆฌSALESMAN
๋ฐ๋์นSALSESMAN
*/
SELECT 'ํ๋ณต์ด๋', SYSDATE, '์ ์ฐ๋ด ', 500, ' ์ต์ ์ํ๋ค.'
FROM DUAL;
--==>> ํ๋ณต์ด๋ 2023-10-19 10:41:18 ์ ์ฐ๋ด 500 ์ต์ ์ํ๋ค.
-- -------- ------------------- ------- ---- -------------
-- ๋ฌธ์ํ์
๋ ์งํ์
๋ฌธ์ํ์
์ซ์ํ์
๋ฌธ์ํ์
--โ ํ์ฌ ๋ ์ง ๋ฐ ์๊ฐ์ ๋ฐํํ๋ ํจ์
SELECT SYSDATE, CURRENT_DATE, LOCALTIMESTAMP
FROM DUAL;
--==>> 2023-10-19 10:43:40 2023-10-19 10:43:40 23/10/19 10:43:40.000000000
SELECT 'ํ๋ณต์ด๋' || SYSDATE || '์ ์ฐ๋ด ' || 500 || ' ์ต์ ์ํ๋ค.'
FROM DUAL;
--==>> ํ๋ณต์ด๋2023-10-19 10:44:55์ ์ฐ๋ด 500 ์ต์ ์ํ๋ค.
--โป ์ค๋ผํด์์๋ ๋ฌธ์ ํ์
์ ํํ๋ก ํ(TYPE)์ ๋ฐํํ๋ ๋ณ๋์ ๊ณผ์ ์์ด
-- ใ||ใ ๋ง ์ฝ์
ํด ์ฃผ๋ฉด ๊ฐ๋จํ ์ปฌ๋ฝ๊ณผ ์ปฌ๋ฝ(์๋ก ๋ค๋ฅธ ์ข
๋ฅ์ ๋ฐ์ดํฐ)์
-- ๊ฒฐํฉํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค.
-- cf) MSSQL ์์๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฌธ์์ด๋ก CONVERT ํด์ผ ํ๋ค.
โป ๋ ์ง ๊ด๋ จ ์ธ์
์ค์ ๋ณ๊ฒฝ
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD';
--==>>Session์ด(๊ฐ) ๋ณ๊ฒฝ๋์์ต๋๋ค.
/* 4-๋ฌธ์ & ๊ฐ์ด ํผ ๋ด์ฉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--โ TBL_EMP ํ
์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ฌ
-- ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋๋ก ์ฟผ๋ฆฌ๋ฌธ์ ๊ตฌ์ฑํ๋ค.
-- <SMITH์ ํ์ฌ ์ฐ๋ด์ 9600์ธ๋ฐ ํฌ๋ง ์ฐ๋ด์ 19200์ด๋ค.
-- SLLEN์ ํ์ฌ ์ฐ๋ด์ 19500์ธ๋ฐ ํฌ๋ง ์ฐ๋ด์ 390000์ด๋ค.
--
-- ๋ฐ๋์น์ ํ์ฌ ์ฐ๋ด์ 10์ธ๋ฐ ํฌ๋ง ์ฐ๋ด์ 20์ด๋ค.>
-- ๋จ, ๋ ์ฝ๋๋ง๋ค ์์ ๊ฐ์ ๋ด์ฉ์ด ํ ์ปฌ๋ผ์ ๋ชจ๋ ์กฐํ๋ ์ ์๋๋ก ์ฒ๋ฆฌํ๋ค.
SELECT *
FROM TBL_EMP;
SELECT ENAME || '์ ํ์ฌ ์ฐ๋ด์ ' || COALESCE(SAL*12+COMM,SAL*12,COMM,0) ||
'์ธ๋ฐ ํฌ๋ง ์ฐ๋ด์ ' || COALESCE(SAL*12+COMM,SAL*12,COMM,0)*2 || '์ด๋ค.'
FROM TBL_EMP;
/* 5-๋ฌธ์ & ๊ฐ์ด ํผ ๋ด์ฉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--โ TBL_EMP ํ
์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ฌ
-- ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋๋ก ์ฟผ๋ฆฌ๋ฌธ์ ๊ตฌ์ฑํ๋ค.
-- <SMITH's ์
์ฌ์ผ์ 1980-12-17์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธ์ฌ๋ 800์ด๋ค.
-- ALLEN's ์
์ฌ์ผ์ 1981-02-20์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธ์ฌ๋ 1600์ด๋ค.
--
-- ๋ฐ๋์น's ์
์ฌ์ผ์ 2023-10-19์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธ์ฌ๋ 0์ด๋ค.>
-- ๋จ, ๋ ์ฝ๋๋ง๋ค ์์ ๊ฐ์ ๋ด์ฉ์ด ํ ์ปฌ๋ผ์ ๋ชจ๋ ์กฐํ๋ ์ ์๋๋ก ์ฒ๋ฆฌํ๋ค.
SELECT ENAME || '''s ์
์ฌ์ผ์ ' || SYSDATE || '์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธ์ฌ๋ ' || NVL(SAL,0) || '์ด๋ค.'
FROM TBL_EMP;
--โป ๋ฌธ์์ด์ ๋ํ๋ด๋ ํ๋ฐ์ดํ ์ฌ์ด์์(์์๊ณผ ๋)
-- ํ๋ฐ์ดํ ๋ ๊ฐ๊ฐ ํ๋ฐ์ดํ ํ๋(์ดํผ์คํธ๋กํผ)๋ฅผ ์๋ฏธํ๋ค.
-- ํ๋ฐ์ดํ ํ๋(<'>)๋ ๋ฌธ์์ด์ ์์์ ๋ํ๋ด๊ณ ,
-- ํ๋ฐ์ดํ ๋๊ฐ(<''>)๋ ๋ฌธ์์ด ์์ญ ์์์ ์ดํผ์คํธ๋กํผ๋ฅผ ๋ํ๋ด๋ฉฐ
-- ๋ค์ ๋ง์ง๋ง์ ๋ฑ์ฅํ๋ ํ๋ฐ์ดํ ํ๋(<'>)๋ ๋ฌธ์์ด ์์ญ์ ์ข
๋ฃ๋ฅผ ์๋ฏธํ๊ฒ ๋๋ ๊ฒ์ด๋ค.
--==>>
/*
SMITH's ์
์ฌ์ผ์ 2023-10-19์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธ์ฌ๋ 800์ด๋ค.
ALLEN's ์
์ฌ์ผ์ 2023-10-19์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธ์ฌ๋ 1600์ด๋ค.
WARD's ์
์ฌ์ผ์ 2023-10-19์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธ์ฌ๋ 1250์ด๋ค.
JONES's ์
์ฌ์ผ์ 2023-10-19์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธ์ฌ๋ 2975์ด๋ค.
MARTIN's ์
์ฌ์ผ์ 2023-10-19์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธ์ฌ๋ 1250์ด๋ค.
BLAKE's ์
์ฌ์ผ์ 2023-10-19์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธ์ฌ๋ 2850์ด๋ค.
CLARK's ์
์ฌ์ผ์ 2023-10-19์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธ์ฌ๋ 2450์ด๋ค.
SCOTT's ์
์ฌ์ผ์ 2023-10-19์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธ์ฌ๋ 3000์ด๋ค.
KING's ์
์ฌ์ผ์ 2023-10-19์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธ์ฌ๋ 5000์ด๋ค.
TURNER's ์
์ฌ์ผ์ 2023-10-19์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธ์ฌ๋ 1500์ด๋ค.
ADAMS's ์
์ฌ์ผ์ 2023-10-19์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธ์ฌ๋ 1100์ด๋ค.
JAMES's ์
์ฌ์ผ์ 2023-10-19์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธ์ฌ๋ 950์ด๋ค.
FORD's ์
์ฌ์ผ์ 2023-10-19์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธ์ฌ๋ 3000์ด๋ค.
MILLER's ์
์ฌ์ผ์ 2023-10-19์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธ์ฌ๋ 1300์ด๋ค.
๊น๋๋ฆฌ's ์
์ฌ์ผ์ 2023-10-19์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธ์ฌ๋ 0์ด๋ค.
๋ฐ๋์น's ์
์ฌ์ผ์ 2023-10-19์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธ์ฌ๋ 0์ด๋ค.
*/
SELECT *
FROM TBL_EMP
WHERE JOB = 'SALESMAN';
--==>>
/*
7499 ALLEN SALESMAN 7698 1981-02-20 1600 300 30
7521 WARD SALESMAN 7698 1981-02-22 1250 500 30
7654 MARTIN SALESMAN 7698 1981-09-28 1250 1400 30
7844 TURNER SALESMAN 7698 1981-09-08 1500 0 30
8000 ๊น๋๋ฆฌ SALESMAN 7369 2023-10-19 (NULL) (NULL) 10
*/
SELECT *
FROM TBL_EMP
WHERE JOB = 'salesman';
--==>> ์กฐํ๊ฒฐ๊ณผ ์์
SELECT *
FROM TBL_EMP
WHERE JOB = 'Salesman';
--==>> ์กฐํ๊ฒฐ๊ณผ ์์
--โ UPPER(), LOWER(), INITCAP()
SELECT 'oRaCLe' "COL1"
, UPPER('oRaCLe') "COL2"
, LOWER('oRaCLe') "COL3"
, INITCAP('oRaCLe') "COL3"
FROM DUAL;
--==>>oRaCLe ORACLE oracle Oracle
--UPPER() ๋ ๋ชจ๋ ๋๋ฌธ์๋ก ๋ณํ
--LOWER() ๋ ๋ชจ๋ ์๋ฌธ์๋ก ๋ณํ
--INITCAP() ์ ์ฒซ ๊ธ์๋ง ๋๋ฌธ์๋ก ํ๊ณ ๋๋จธ์ง๋ ๋ชจ๋ ์๋ฌธ์๋ก ๋ณํํ์ฌ ๋ฐํ
--โป ์ค์ต์ ์ํ ์ถ๊ฐ ๋ฐ์ดํฐ ์
๋ ฅ
INSERT INTO TBL_EMP(EMPNO, ENAME, JOB, MGR, HIREDATE, DEPTNO, COMM)
VALUES(8002, '์ํ์ฑ', 'salesman', 7369, SYSDATE,20,100);
--==>> 1 ํ ์ด(๊ฐ) ์ฝ์
๋์์ต๋๋ค.
--โ ํ์ธ
SELECT *
FROM TBL_EMP;
--==>>
/*
7369 SMITH CLERK 7902 1980-12-17 800 20
7499 ALLEN SALESMAN 7698 1981-02-20 1600 300 30
7521 WARD SALESMAN 7698 1981-02-22 1250 500 30
7566 JONES MANAGER 7839 1981-04-02 2975 20
7654 MARTIN SALESMAN 7698 1981-09-28 1250 1400 30
7698 BLAKE MANAGER 7839 1981-05-01 2850 30
7782 CLARK MANAGER 7839 1981-06-09 2450 10
7788 SCOTT ANALYST 7566 1987-07-13 3000 20
7839 KING PRESIDENT 1981-11-17 5000 10
7844 TURNER SALESMAN 7698 1981-09-08 1500 0 30
7876 ADAMS CLERK 7788 1987-07-13 1100 20
7900 JAMES CLERK 7698 1981-12-03 950 30
7902 FORD ANALYST 7566 1981-12-03 3000 20
7934 MILLER CLERK 7782 1982-01-23 1300 10
8000 ๊น๋๋ฆฌ SALESMAN 7369 2023-10-19 10 -> ํ์ฐ๊ธฐ
8001 ๋ฐ๋์น SALSESMAN 7369 2023-10-19 10 10 -> ๋ค์๋
8002 ์ํ์ฑ salesman 7369 2023-10-19 100 20
*/
/* 6-๋ฌธ์ & ๋ด๊ฐํผ๋ด์ฉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--โ TBL_EMP ํ
์ด๋ธ์ ๋์์ผ๋ก ์์
์ฌ์(์ธ์ผ์ฆ๋งจ)์
-- ์ฌ์๋ฒํธ, ์ฌ์๋ช
, ์ง์ข
๋ช
์ ์กฐํํ๋ค.
-- ๋ํ, ๊ฒ์๊ฐ์ด 'sALeSmAN' ์ธ ์กฐ๊ฑด์ผ๋ก ๊ฒ์์ ์ํํ๋๋ผ๋
-- ํด๋น ์ฌ์๋ค์ ์กฐํํ ์ ์๋๋ก ์ฟผ๋ฆฌ๋ฌธ์ ๊ตฌ์ฑํ๋ค.
SELECT EMPNO "์ฌ์๋ฒํธ", ENAME "์ฌ์๋ช
", JOB "์ง์ข
๋ช
"
FROM TBL_EMP
WHERE JOB = UPPER('sALeSmAN') OR JOB = LOWER('sALeSmAN');
SELECT EMPNO "์ฌ์๋ฒํธ", ENAME "์ฌ์๋ช
", JOB "์ง์ข
๋ช
"
FROM TBL_EMP
WHERE UPPER(JOB) = 'SALESMAN';
SELECT EMPNO "์ฌ์๋ฒํธ", ENAME "์ฌ์๋ช
", JOB "์ง์ข
๋ช
"
FROM TBL_EMP
WHERE UPPER(JOB) = UPPER('sALeSmAN');
--==>>
/*
7499 ALLEN SALESMAN
7521 WARD SALESMAN
7654 MARTIN SALESMAN
7844 TURNER SALESMAN
8000 ํ์ฐ๊ธฐ SALESMAN
8001 ๋ค์๋ SALESMAN
8002 ์ํ์ฑ salesman
*/
/* 6-๊ฐ์ด ํผ ๋ด์ฉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
SELECT EMPNO, ENAME, JOB
FROM TBL_EMP
WHERE ์ง์ข
์ด 'sALeSmAN';
SELECT EMPNO, ENAME, JOB
FROM TBL_EMP
WHERE JOB = UPPER('sALeSmAN');
==>>
/*
7499 ALLEN SALESMAN
7521 WARD SALESMAN
7654 MARTIN SALESMAN
7844 TURNER SALESMAN
8000 ํ์ฐ๊ธฐ SALESMAN
8001 ๋ค์๋ SALESMAN
*/
SELECT EMPNO, ENAME, JOB
FROM TBL_EMP
WHERE JOB = LOWER('sALeSmAN');
--==>>
/*
8002 ์ํ์ฑ salesman
*/
SELECT EMPNO, ENAME, JOB
FROM TBL_EMP
WHERE JOB = LOWER('sALeSmAN') OR JOB = UPPER('sALeSmAN');
/*
7499 ALLEN SALESMAN
7521 WARD SALESMAN
7654 MARTIN SALESMAN
7844 TURNER SALESMAN
8000 ํ์ฐ๊ธฐ SALESMAN
8001 ๋ค์๋ SALESMAN
8002 ์ํ์ฑ salesman
*/
SELECT EMPNO, ENAME, JOB
FROM TBL_EMP
WHERE UPPER(JOB) = UPPER('sALeSmAN');
--WHERE LOWER(JOB) = LOWER('sALeSmAN'); -- ๊ฐ๋ฅ
--WHERE INITCAP(JOB) = INITCAP('sALeSmAN'); -- ๊ฐ๋ฅ
/*
7499 ALLEN SALESMAN
7521 WARD SALESMAN
7654 MARTIN SALESMAN
7844 TURNER SALESMAN
8000 ํ์ฐ๊ธฐ SALESMAN
8001 ๋ค์๋ SALESMAN
8002 ์ํ์ฑ salesman
*/
/* 7-๋ฌธ์ & ํจ๊ปํผ๋ด์ฉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--โ TBL_EMP ํ
์ด๋ธ์์ ์
์ฌ์ผ์ด 1981๋
9์ 28์ผ ์
์ฌํ ์ง์์
-- ์ฌ์๋ช
, ์ง์ข
๋ช
, ์
์ฌ์ผ ํญ๋ชฉ์ ์กฐํํ๋ค.
SELECT ENAME "์ฌ์๋ช
", JOB "์ง์ข
๋ช
", HIREDATE "์
์ฌ์ผ"
FROM TBL_EMP
WHERE HIREDATE = '1981-09-28'; -- ๋ฌธ์ํ์
์ ๋ ์งํ์
์ผ๋ก ์๋ ํ๋ณํ
-- ---- -> ์ซ์ํ์
-- ---------- -> ๋ฌธ์ํ์
-- ------- -> ๋ ์งํ์
--==>> MARTIN SALESMAN 2023-10-19
--** ์ค๋ผํด์ ์๋ํ๋ณํ์ ๋ฏฟ์ง์์์ผ ํ๋ค.
DESC TBL_EMP;
--โ TO_DATE()
SELECT ENAME "์ฌ์๋ช
", JOB "์ง์ข
๋ช
", HIREDATE "์
์ฌ์ผ"
FROM TBL_EMP
WHERE HIREDATE = TO_DATE('1981-09-28','YYYY-MM-DD');
-- ---------- -> ์ซ์ํ์
-- ------------ -> ๋ฌธ์ํ์
-- ---------------------------------- -> ๋ ์งํ์
--==>> MARTIN SALESMAN 2023-10-19
/* 8-๋ฌธ์ & ํจ๊ปํผ๋ด์ฉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--โ TBL_EMP ํ
์ด๋ธ์์ ์
์ฌ์ผ์ด 1921๋
9์ 28์ผ ์ดํ(ํด๋น์ผ ํฌํจ)
-- ์
์ฌํ ์ง์์ ์ฌ์๋ช
, ์ง์ข
๋ช
, ์
์ฌ์ผ ํญ๋ชฉ์ ์กฐํํ๋ค.
SELECT ENAME "์ฌ์๋ช
", JOB "์ง์ข
๋ช
", HIREDATE "์
์ฌ์ผ"
FROM TBL_EMP
WHERE HIREDATE >= TO_DATE('1981-09-28','YYYY-MM-DD');
--โป ์ค๋ผํด์์๋ ๋ ์ง ๋ฐ์ดํฐ์ ํฌ๊ธฐ ๋น๊ต๊ฐ ๊ฐ๋ฅํ๋ค.
-- ์ค๋ผํด์์๋ ๋ ์ ๋ฐ์ดํฐ์ ๋ํ ํฌ๊ธฐ ๋น๊ต ์
-- ๊ณผ๊ฑฐ๋ณด๋ค ๋ฏธ๋๋ฅผ ๋ ํฐ ๊ฐ์ผ๋ก ๊ฐ์ฃผํ๋ค.
--โ TBL_EMP ํ
์ด๋ธ์์ ์
์ฌ์ผ์ด 1981๋
4์ 2์ผ ๋ถํฐ
-- 1981๋
9์ 28์ผ ์ฌ์ด์ ์
์ฌํ ์ง์๋ค์
-- ์ฌ์๋ช
, ์ง์ข
๋ช
, ์
์ฌ์ผ ํญ๋ชฉ์ ์กฐํํ๋ค. (ํด๋น์ผ ํฌํจ)
SELECT ENAME "์ฌ์๋ช
", JOB "์ง์ข
๋ช
", HIREDATE "์
์ฌ์ผ"
FROM TBL_EMP
WHERE HIREDATE >= TO_DATE('1981-04-02','YYYY-MM-DD')
AND HIREDATE <= TO_DATE('1981-09-28','YYYY-MM-DD');
--==>>
/*
JONES MANAGER 1981-04-02
MARTIN SALESMAN 1981-09-28
BLAKE MANAGER 1981-05-01
CLARK MANAGER 1981-06-09
TURNER SALESMAN 1981-09-08
*/
--โ BETWEEN โ AND โ
SELECT ENAME "์ฌ์๋ช
", JOB "์ง์ข
๋ช
", HIREDATE "์
์ฌ์ผ"
FROM TBL_EMP
WHERE HIREDATE BETWEEN TO_DATE('1981-04-02','YYYY-MM-DD')
AND TO_DATE('1981-09-28','YYYY-MM-DD');
--==>>
/*
JONES MANAGER 1981-04-02
MARTIN SALESMAN 1981-09-28
BLAKE MANAGER 1981-05-01
CLARK MANAGER 1981-06-09
TURNER SALESMAN 1981-09-08
*/
-----------โ------------------โ-------------
-- 1981.4.2 1921.9.28
--โ TBL_EMP ํ
์ด๋ธ์์ ๊ธ์ฌ(SAL)๊ฐ 2450 ์์ 3000 ๊น์ง์ ์ง์๋ค์ ๋ชจ๋ ์กฐํํ๋ค.
SELECT *
FROM TBL_EMP
WHERE SAL BETWEEN 2450 AND 3000;
--==>>
/*
7566 JONES MANAGER 7839 1981-04-02 2975 20
7698 BLAKE MANAGER 7839 1981-05-01 2850 30
7782 CLARK MANAGER 7839 1981-06-09 2450 10
7788 SCOTT ANALYST 7566 1987-07-13 3000 20
7902 FORD ANALYST 7566 1981-12-03 3000 20
*/
-----------โ------------------โ-------------
-- 2450 3000
--โ TBL_EMP ํ
์ด๋ธ์์ ์ง์๋ค์ ์ด๋ฆ์ด
-- 'C'๋ก ์์ํ๋ ์ด๋ฆ๋ถํฐ 'S'๋ก ์์ํ๋ ์ด๋ฆ์ธ ๊ฒฝ์ฐ
-- ๋ชจ๋ ํญ๋ชฉ์ ์กฐํํ๋ค.
SELECT *
FROM TBL_EMP
WHERE ENAME BETWEEN 'C' AND 'S';
-----------โ------------------โ------------- --** ์ฌ์ ์ ๋ฐฐ์ด ๊ธฐ์ค('S'๋ก๋ง ์ด๋ฆ์ด ์๋ค๋ฉด ๊ฒ์๋จ)
-- 'C' 'S'
/*
7566 JONES MANAGER 7839 1981-04-02 2975 20
7654 MARTIN SALESMAN 7698 1981-09-28 1250 1400 30
7782 CLARK MANAGER 7839 1981-06-09 2450 10
7839 KING PRESIDENT 1981-11-17 5000 10
7900 JAMES CLERK 7698 1981-12-03 950 30
7902 FORD ANALYST 7566 1981-12-03 3000 20
7934 MILLER CLERK 7782 1982-01-23 1300 10
*/
SELECT *
FROM TBL_EMP
WHERE ENAME BETWEEN 'C' AND 's';
/*
7369 SMITH CLERK 7902 1980-12-17 800 20
7521 WARD SALESMAN 7698 1981-02-22 1250 500 30
7566 JONES MANAGER 7839 1981-04-02 2975 20
7654 MARTIN SALESMAN 7698 1981-09-28 1250 1400 30
7782 CLARK MANAGER 7839 1981-06-09 2450 10
7788 SCOTT ANALYST 7566 1987-07-13 3000 20
7839 KING PRESIDENT 1981-11-17 5000 10
7844 TURNER SALESMAN 7698 1981-09-08 1500 0 30
7900 JAMES CLERK 7698 1981-12-03 950 30
7902 FORD ANALYST 7566 1981-12-03 3000 20
7934 MILLER CLERK 7782 1982-01-23 1300 10
*/
--โป <BTWEEN โ AND โ>๋ ๋ ์งํ, ์ซ์ํ, ๋ฌธ์ํ ๋ฐ์ดํฐ์ ๋ชจ๋ ์ ์ฉ๋๋ค.
-- ๋จ, ๋ฌธ์ํ์ด ๊ฒฝ์ฐ ์์คํค์ฝ๋ ์์๋ฅผ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์(์ฌ์ ์ ๋ฐฐ์ด)
-- ๋๋ฌธ์๊ฐ ์์ชฝ์ ์์นํ๊ณ , ์๋ฌธ์๊ฐ ๋ค ์ชฝ์ ์์นํ๋ค.
-- ๋ํ, <BTWEEN โ AND โ>๋ ํด๋น ๊ตฌ๋ฌธ์ด ์ํ๋๋ ์์ ์์
-- ์ค๋ฅผ ๋ด๋ถ์ ์ผ๋ก๋ ๋ถ๋ฑํธ ์ฐ์ฐ์์ ํํ๋ก ๋ฐ๋์ด ์ฐ์ฐ ์ฒ๋ฆฌํ๋ค.
--โป ASCOO()
--๋งค๊ฐ๋ณ์๋ก ๋๊ฒจ๋ฐ์ ํด๋น ๋ฌธ์์ ์์คํค ์ฝ๋ ๊ฐ์ ๋ฐํํ๋ค.
SELECT ASCII('A') "COL1"
,ASCII('B') "COL2"
,ASCII('a') "COL3"
,ASCII('b') "COL4"
--FROM DUAL;
--==>>65 66 97 98
SELECT ENAME, JOB, SAL
FROM TBL_EMP
WHERE JOB = 'SALESMAN'
OR JOB = 'CLOERK';
SELECT ENAME, JOB, SAL
FROM TBL_EMP
WHERE JOB IN ('SALESMAN', 'CLOERK');
SELECT ENAME, JOB, SAL
FROM TBL_EMP
WHERE JOB =ANY ('SALESMAN', 'CLOERK');
--โป ์์ 3๊ฐ์ง ์ ํ์ ์ฟผ๋ฆฌ๋ฌธ์ ๋ชจ๋ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ค.
-- ํ์ง๋ง, ๋งจ ์์ ์ฟผ๋ฆฌ๋ฌธ(OR)์ด ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌ๋๋.(์ ๋ง ์ผ๋ง ์๋์ง๋ง...)
-- ๋ฌผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ๋ํ ๋ด์ฉ์ด ์๋๋ผ CPU์ ๋ํ ๋ด์ฉ์ด๋ฏ๋ก
-- ์ด ๋ถ๋ถ๊น์ง ๊ฐ์ํ์ฌ ์ฟผ๋ฆฌ๋ฌธ์ ๊ตฌ์ฑํ๊ฒ ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ง ์๋ค.
-- -> <IN> <=ANY>๋ ์ ์ํฉ์์ ๋ชจ๋ ๊ฐ์ ์ฐ์ฐ ํจ๊ณผ๋ฅผ ๊ฐ์ ธ๊ฐ๋ค.
-- ์ด๋ฅผ ๋ชจ๋๋ ๋ด๋ถ์ ์ผ๋ก <OR> ๊ตฌ์กฐ๋ก ๋ณ๊ฒฝ๋์ด ์ฐ์ฐ ์ฒ๋ฆฌ ๋๋ค.
-------------------------------------------------------------------------------
--โ ์ถ๊ฐ ์ค์ต ํ
์ด๋ธ ๊ตฌ์ฑ(TBL_SAWON)
CREATE TABLE TBL_SAWON
( SANO NUMBER(4)
, SANAME VARCHAR2(30)
, JUBUN CHAR(13)
, HIREDATE DATE DEFAULT SYSDATE
, SAL NUMBER(10)
);
--==>> Table TBL_SAWON์ด(๊ฐ) ์์ฑ๋์์ต๋๋ค.
SELECT *
FROM TBL_SAWON;
--==>> ์กฐํ๊ฒฐ๊ณผ ์์
DESC TBL_SAWON;
--==>>
/*
์ด๋ฆ ๋? ์ ํ
-------- -- ------------
SANO NUMBER(4)
SNAME VARCHAR2(30)
JUBUN CHAR(13)
HIREDATE DATE
SAL NUMBER(10)
*/
--โ ์์ฑ๋ ํ
์ด๋ธ์ ๋ฐ์ดํฐ ์
๋ ฅ(TBL_SAWON)
INSERT INTO TBL_SAWON(SANO, SANAME, JUBUN, HIREDATE, SAL)
VALUES(1001, '๊ฐํ์ฑ', '9710171234567', TO_DATE('2005-01-03', 'YYYY-MM-DD'), 3000);
INSERT INTO TBL_SAWON(SANO, SANAME, JUBUN, HIREDATE, SAL)
VALUES(1002, '๋ฐ๊ฐ์', '9511182234567', TO_DATE('1999-11-23', 'YYYY-MM-DD'), 4000);
INSERT INTO TBL_SAWON(SANO, SANAME, JUBUN, HIREDATE, SAL)
VALUES(1003, '๋ฐ๋์', '9902082234567', TO_DATE('2006-08-10', 'YYYY-MM-DD'), 4000);
INSERT INTO TBL_SAWON(SANO, SANAME, JUBUN, HIREDATE, SAL)
VALUES(1004, '์ตํ์ธ', '9708112234567', TO_DATE('2015-10-19', 'YYYY-MM-DD'), 5000);
INSERT INTO TBL_SAWON(SANO, SANAME, JUBUN, HIREDATE, SAL)
VALUES(1005, '์์ด์ ', '0502034234567', TO_DATE('2010-05-06', 'YYYY-MM-DD'), 1000);
INSERT INTO TBL_SAWON(SANO, SANAME, JUBUN, HIREDATE, SAL)
VALUES(1006, '์ดํ์ด', '0609304234567', TO_DATE('2012-06-17', 'YYYY-MM-DD'), 1000);
INSERT INTO TBL_SAWON(SANO, SANAME, JUBUN, HIREDATE, SAL)
VALUES(1007, '์ธ์์ด', '6510102234567', TO_DATE('1999-08-22', 'YYYY-MM-DD'), 2000);
INSERT INTO TBL_SAWON(SANO, SANAME, JUBUN, HIREDATE, SAL)
VALUES(1008, '์ ๋์ด', '6909101234567', TO_DATE('1998-01-10', 'YYYY-MM-DD'), 2000);
INSERT INTO TBL_SAWON(SANO, SANAME, JUBUN, HIREDATE, SAL)
VALUES(1009, '์ด์ด๊ฒฝ', '0505053234567', TO_DATE('2011-05-06', 'YYYY-MM-DD'), 1500);
INSERT INTO TBL_SAWON(SANO, SANAME, JUBUN, HIREDATE, SAL)
VALUES(1010, '์ ์ฐ์ฉ๋
', '6611112234567', TO_DATE('2000-01-16', 'YYYY-MM-DD'), 1300);
INSERT INTO TBL_SAWON(SANO, SANAME, JUBUN, HIREDATE, SAL)
VALUES(1011, '์ด์ค์', '9501061234567', TO_DATE('2009-09-19', 'YYYY-MM-DD'), 4000);
INSERT INTO TBL_SAWON(SANO, SANAME, JUBUN, HIREDATE, SAL)
VALUES(1012, '์ ์ฐ์ ', '0606064234567', TO_DATE('2011-11-11', 'YYYY-MM-DD'), 2000);
INSERT INTO TBL_SAWON(SANO, SANAME, JUBUN, HIREDATE, SAL)
VALUES(1013, '๋จ์ง', '6511111234567', TO_DATE('1999-11-11', 'YYYY-MM-DD'), 2000);
INSERT INTO TBL_SAWON(SANO, SANAME, JUBUN, HIREDATE, SAL)
VALUES(1014, '์ด์ฃผํ', '9904171234567', TO_DATE('2009-11-11', 'YYYY-MM-DD'), 2000);
INSERT INTO TBL_SAWON(SANO, SANAME, JUBUN, HIREDATE, SAL)
VALUES(1015, '๋จ๊ถ๋ฏผ', '0202023234567', TO_DATE('2010-10-10', 'YYYY-MM-DD'), 2300);
--โ ํ์ธ
SELECT *
FROM TBL_SAWON;
/*
1001 ๊ฐํ์ฑ 9710171234567 2005-01-03 3000
1002 ๋ฐ๊ฐ์ 9511182234567 1999-11-23 4000
1003 ๋ฐ๋์ 9902082234567 2006-08-10 4000
1004 ์ตํ์ธ 9708112234567 2010-05-06 5000
1005 ์์ด์ 0502034234567 2015-10-19 1000
1006 ์ดํ์ด 0609304234567 2012-06-17 1000
1007 ์ธ์์ด 6510102234567 1999-08-22 2000
1008 ์ ๋์ด 6909101234567 1998-01-10 2000
1009 ์ด์ด๊ฒฝ 0505053234567 2011-05-06 1500
1010 ์ ์ฐ์ฉ๋
6611112234567 2000-01-16 1300
1011 ์ด์ค์ 9501061234567 2009-09-19 4000
1012 ์ ์ฐ์ 0606064234567 2011-11-11 2000
1013 ๋จ์ง 6511111234567 1999-11-11 2000
1014 ์ด์ฃผํ 9904171234567 2009-11-11 2000
1015 ๋จ๊ถ๋ฏผ 0202023234567 2010-10-10 2300
*/
/*
1. ํ์ธ
SELECT *
FROM ํ
์ด๋ธ๋ช
WHERE SANO = 1005;
2. ์์
UPDATE ํ
์ด๋ธ๋ช
SET ์์ ํ ๋ด์ฉ
WHERE SANO = 1005;
*/
--โ ์ปค๋ฐ
COMMIT;
-- ์ปค๋ฐ ์๋ฃ.
/* 9-๋ฌธ์ & ํจ๊ปํผ๋ด์ฉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--โ TBL_SAWON ํ
์ด๋ธ์์ '์ด์ฃผํ' ์ฌ์์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ค.
SELECT *
FROM TBL_SAWON
WHERE SANAME = '์ด์ฃผํ';
--==>> 1014 ์ด์ฃผํ 9904171234567 2009-11-11 2000
SELECT *
FROM TBL_SAWON
WHERE SANAME LIKE '์ด์ฃผํ';
--==>> 1014 ์ด์ฃผํ 9904171234567 2009-11-11 2000
--** ๋ฌธ์์ด ์กฐํ์ LIKE ์ฌ์ฉ๊ฐ๋ฅ
--โป LIKE : ๋์ฌ -> ์ข์ํ๋ค
-- ๋ถ์ฌ -> ~์ ๊ฐ์ด, ~์ฒ๋ผ
--โป WILD CARD(CHARACTER) -> ใ3%ใ
-- ใLIKEใ ์ ํจ๊ป ์ฌ์ฉ๋๋ ใ%ใ๋ ๋ชจ๋ ๊ธ์๋ฅผ ์๋ฏธํ๊ณ
-- ใLIKEใ ์ ํจ๊ป ์ฌ์ฉ๋๋ ใ_ใ๋ ์๋ฌด ๊ธ์ ํ ๊ฐ๋ฅผ ์๋ฏธํ๋ค.
/* 10-๋ฌธ์ & ํจ๊ปํผ๋ด์ฉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--โ TBL_SAWON ํ
์ด๋ธ์์ ์ฑ์จ๊ฐ ใ๊ฐใ์จ์ธ ์ฌ๋๋ค์
-- ์ฌ์๋ช
, ์ฃผ๋ฏผ๋ฒํธ, ๊ธ์ฌ ํญ๋ชฉ์ ์กฐํํ๋ค.
SELECT SANAME "์ฌ์๋ช
", JUBUN "์ฃผ๋ฏผ๋ฒํธ", SAL "๊ธ์ฌ";
FROM TBL_SAWON
WHERE ์ฑ์จ๊ฐ '๊ฐ';
SELECT SANAME "์ฌ์๋ช
", JUBUN "์ฃผ๋ฏผ๋ฒํธ", SAL "๊ธ์ฌ"
FROM TBL_SAWON
WHERE SANAME = '๊ฐ_';
--==>> ์กฐํ๊ฒฐ๊ณผ ์์
SELECT SANAME "์ฌ์๋ช
", JUBUN "์ฃผ๋ฏผ๋ฒํธ", SAL "๊ธ์ฌ"
FROM TBL_SAWON
WHERE SANAME LIKE '๊ฐ__';
--==>> ๊ฐํ์ฑ 9710171234567 3000
SELECT SANAME "์ฌ์๋ช
", JUBUN "์ฃผ๋ฏผ๋ฒํธ", SAL "๊ธ์ฌ"
FROM TBL_SAWON
WHERE SANAME LIKE '๊ฐ%';
--==>> ๊ฐํ์ฑ 9710171234567 3000
/* 11-๋ฌธ์ & ํจ๊ปํผ๋ด์ฉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--โ TBL_SAWON ํ
์ด๋ธ์์ ์ฑ์จ๊ฐ <์ด>์จ์ธ ์ฌ์์
-- ์ฌ์๋ช
, ์ฃผ๋ฏผ๋ฒํธ, ๊ธ์ฌ ํญ๋ชฉ์ ์กฐํํ๋ค.
SELECT SANAME, JUBUN, SAL
FROM TBL_SAWON
WHERE SANAME LIKE '์ด%';
/* 12-๋ฌธ์ & ํจ๊ปํผ๋ด์ฉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--โ TBL_SAWON ํ
์ด๋ธ์์ ์ฌ์์ ์ด๋ฆ์ด <์>์ผ๋ก ๋๋๋ ์ฌ์์
-- ์ฌ์๋ช
, ์ฃผ๋ฏผ๋ฒํธ, ๊ธ์ฌ ํญ๋ชฉ์ ์กฐํํ๋ค.
SELECT SANAME, JUBUN, SAL
FROM TBL_SAWON
WHERE SANAME LIKE '%์';
--** ์ ์์ ๊ธ์๊ฐ ์์ด๋ ์ฐพ์. %๋ ์๋ ๊ธ์๊น์ง ํฌํจ.
--==>>
/*
๋ฐ๊ฐ์ 9511182234567 4000
๋ฐ๋์ 9902082234567 4000
*/
/* 13-๋ฌธ์ & ํจ๊ปํผ๋ด์ฉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--โ TBL_SAWON ํ
์ด๋ธ์์ ์ฌ์์ ์ด๋ฆ์ด '์ด'๋ผ๋ ๊ธ์๊ฐ
-- ํ๋๋ผ๋ ํฌํจ๋์ด ์๋ค๋ฉด ๊ทธ ์ฌ์์
-- ์ฌ์๋ฒํธ, ์ฌ์๋ช
, ๊ธ์ฌ ํญ๋ชฉ์ ์กฐํํ๋ค.
SELECT SANO, SANAME, SAL
FROM TBL_SAWON
WHERE SANAME LIKE '%์ด%';
--==>>
/*
1005 ์์ด์ 1000
1006 ์ดํ์ด 1000
1007 ์ธ์์ด 2000
1009 ์ด์ด๊ฒฝ 1500
1011 ์ด์ค์ 4000
1014 ์ด์ฃผํ 2000
*/
/* 14-๋ฌธ์ & ํจ๊ปํผ๋ด์ฉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--โ TBL_SAWON ํ
์ด๋ธ์์ ์ฌ์์ ์ด๋ฆ์ด '์ด'๋ผ๋ ๊ธ์๊ฐ
-- ๋ ๋ฒ ๋ค์ด์๋ ์ฌ์์ ์ฌ์๋ฒํธ, ์ฌ์๋ช
, ๊ธ์ฌ ํญ๋ชฉ์ ์กฐํํ๋ค.
SELECT SANO, SANAME, SAL
FROM TBL_SAWON
WHERE SANAME LIKE '%์ด%์ด%';
--==>>
/*
1006 ์ดํ์ด 1000
1009 ์ด์ด๊ฒฝ 1500
*/
/* 15-๋ฌธ์ & ํจ๊ปํผ๋ด์ฉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--โ TBL_SAWON ํ
์ด๋ธ์์ ์ฌ์ฐ๋์ ์ด๋ฆ์ด '์ด'๋ผ๋ ๊ธ์๊ฐ
-- ์ฐ์์ผ๋ก ๋ ๋ฒ ๋ค์ด์๋ ์ฌ์์
-- ์ฌ์๋ฒํธ, ์ฌ์๋ช
, ๊ธ์ฌ ํญ๋ชฉ์ ์กฐํํ๋ค.
SELECT SANO, SANAME, SAL
FROM TBL_SAWON
WHERE SANAME LIKE '%์ด์ด%';
--==>> 1009 ์ด์ด๊ฒฝ 1500
/* 16-๋ฌธ์ & ํจ๊ปํผ๋ด์ฉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--โ TBL_SAWON ํ
์ด๋ธ์์ ์ฌ์์ ์ด๋ฆ์ ๋ ๋ฒ์งธ ๊ธ์๊ฐ 'ํ'์ธ ์ฌ์์
-- ์ฌ์๋ฒํธ, ์ฌ์๋ช
, ๊ธ์ฌ ํญ๋ชฉ์ ์กฐํํ๋ค.
SELECT SANO, SANAME, SAL
FROM TBL_SAWON
--WHERE SANAME LIKE '%ํ%'; --(x) ํ ๊ธ์๋ง ์๋๋ผ๋ ๊ฒ์๋จ
--WHERE SANAME LIKE '_ํ_'; --(โณ) ๊ฐ๋ฅ์ ํ์ง๋ง, 3๊ธ์๊ฐ ๋์ด๊ฐ๋ฉด ๊ฒ์๋ ์ง ์์
WHERE SANAME LIKE '-ํ%';
--==>>
/*
1001 ๊ฐํ์ฑ 3000
1004 ์ตํ์ธ 5000
*/
/* 17-๋ฌธ์ & ํจ๊ปํผ๋ด์ฉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--โ TBL_SAWON ํ
์ด๋ธ์์ ์ฑ์จ๊ฐ '์ '์จ์ธ ์ฌ์์
-- ์ฌ์๋ฒํธ, ์ฃผ๋ฏผ๋ฒํธ, ๊ธ์ฌ ํญ๋ชฉ์ ์กฐํํ๋ค.
--** ์ฑ ์นผ๋ผ์ด ๋ถ๋ฆฌ๋์ด ์์ง ์๋ค๋ฉด, ์ฐพ์ ์ ์์ (EX. ์ ์ฐ๋ผ๋ ์ฑ์จ๊ฐ ์์)
SELECT SANO, JUBUN, SAL
FROM TBL_SAWON
WHERE SANAME LIKE '์ %'; --(x)
--โป ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ๊ณผ์ ใ
์
-- ์ฑ๊ณผ ์ด๋ฆ์ ๋ถ๋ฆฌํ์ฌ ์ฒ๋ฆฌํ ์
๋ฌด ๊ณํ์ด ์๋ค๋ฉด
-- (์ง๊ธ ๋น์ฅ์ ์๋๋๋ผ๋...)
-- ํ
์ด๋ธ์์ ์ฑ ์ปฌ๋ผ๊ณผ ์ด๋ฆ ์ปฌ๋ผ์ ๋ถ๋ฆฌํ์ฌ ๊ตฌ์ฑํด์ผ ํ๋ค.
/* 18-๋ฌธ์ & ํจ๊ปํผ๋ด์ฉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--โ TBL_SAWON ํ
์ด๋ธ์์ ์ฌ์ง์๋ค์
-- ์ฌ์๋ช
, ์ฃผ๋ฏผ๋ฒํธ, ๊ธ์ฌ ํญ๋ชฉ์ ์กฐํํ๋ค.
SELECT SANAME,JUBUN, SAL
FROM TBL_SAWON
WHERE JUBUN LIKE '______2%' OR JUBUN LIKE '______4%';
SELECT SANAME,JUBUN, SAL
FROM TBL_SAWON
WHERE JUBUN LIKE '______2______' OR JUBUN LIKE '______4______';
--==>>
/*
๋ฐ๊ฐ์ 9511182234567 4000
๋ฐ๋์ 9902082234567 4000
์ตํ์ธ 9708112234567 5000
์์ด์ 0502034234567 1000
์ดํ์ด 0609304234567 1000
์ธ์์ด 6510102234567 2000
์ ์ฐ์ฉ๋
6611112234567 1300
์ ์ฐ์ 0606064234567 2000
*/
SELECT *
FROM TBL_SAWON;
--โ ์ค์ต ํ
์ด๋ธ ์์ฑ(TBL_WATCH)
CREATE TABLE TBL_WATCH
( WATCH_NAME VARCHAR2(20)
, BIGO VARCHAR2(100)
);
--==>> Table TABL_WATCH์ด(๊ฐ) ์์ฑ๋์์ต๋๋ค.
SELECT *
FROM TBL_WATCH;
/* 19-๋ฌธ์ & ํจ๊ปํผ๋ด์ฉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--โ ๋ฐ์ดํฐ ์
๋ ฅ
INSERT INTO TBL_WATCH(WATCH_NAME, BIGO)
VALUES('๊ธ์๊ณ', '์๊ธ 99.99% ํจ์ ๋ ์ต๊ณ ๊ธ ์๊ณ');
INSERT INTO TBL_WATCH(WATCH_NAME, BIGO)
VALUES('์์๊ณ', '๊ณ ๊ฐ๋ง์กฑ๋ 99.99%์ ํ๋ํ ์ต๊ณ ์ ์๊ณ');
--โ ์ปค๋ฐ
COMMIT;
--==>> ์ปค๋ฐ ์๋ฃ.
--โ TBL_WATCH ํ
์ด๋ธ์ BIGO(๋น๊ณ ) ์ปฌ๋ผ์
-- <99.99%> ๋ผ๋ ๊ธ์๊ฐ ํฌํจ๋(๋ค์ด์๋) ํ(๋ ์ฝ๋)์
-- ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ค.
SELECT *
FROM TBL_WATCH
WHERE BIGO LIKE '%99.99%';
--==>>
/*
๊ธ์๊ณ ์๊ธ 99.99% ํจ์ ๋ ์ต๊ณ ๊ธ ์๊ณ
์์๊ณ ๊ณ ๊ฐ๋ง์กฑ๋ 99.99์ ์ ํ๋ํ ์ต๊ณ ์ ์๊ณ
*/
SELECT *
FROM TBL_WATCH
WHERE BIGO LIKE '%99.99%';
-- ESCAPE
--** ์ฐ๋ ค๊ณ ํ๋ % ์์ ์์ฐ๋ ๋ฌธ์๋ฅผ ๋ฃ๊ณ , ESCAPE ๋ค์ '์์ฐ๋๋ฌธ์' ๋ก ์์ฑ
--** ์์ฐ๋ ๋ฌธ์: $, \, / ๋ฑ ๋ฌธ๋ฒ์ ์ผ๋ก ์ค๋ณต๋์ง ์๋ ๋ฌธ์
SELECT *
FROM TBL_WATCH
WHERE BIGO LIKE '%99.99\%%' ESCAPE '\';
--==>> ๊ธ์๊ณ ์๊ธ 99.99% ํจ์ ๋ ์ต๊ณ ๊ธ ์๊ณ
--โป ESCAPE ๋ก ์ ํ ๋ฌธ์์ ๋ค์ ํ ๊ธ์๋ฅผ ์์ผ๋ ์นด๋์์ ํ์ถ์์ผ๋ผ..
-- ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ ๋น๋๊ฐ ๋ฎ์ ํน์๋ฌธ์(ํน์๊ธฐํธ)๋ฅผ ์ฌ์ฉํ๋ค.
--------------------------------------------------------------------------------
--โ โ โ COMMIT / ROLLBACK โ โ โ --
SELECT *
FROM TBL_DEPT;
--==>>
/*
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
*/
--โ ๋ฐ์ดํฐ ์
๋ ฅ
INSERT INTO TBL_DEPT VALUES(50, '๊ฐ๋ฐ๋ถ', '์์ธ');
--==>> 1 ํ ์ด(๊ฐ) ์ฝ์
๋์์ต๋๋ค.
SELECT *
FROM TBL_DEPT;
--==>>
/*
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
50 ๊ฐ๋ฐ๋ถ ์์ธ
*/
/*
** ํ
์ด๋ธ์ ๋ฌผ๋ฆฌ์ -ํ๋๋์คํฌ
๋
ผ๋ฆฌ์ -ํ
์ด๋ธ์คํ์ด์ค ์ ๋ง๋ค์ด์ง
ํ
์ด๋ธ์ ๋ฐ์ดํฐ ์
๋ ฅ์ ์คํํ๋ค ํ๋๋ผ๋,
์ค์ ํ๋๋์คํฌ์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ์ฅ๋๊ฒ ์๋, ๋ฉ๋ชจ๋ฆฌ์์ ์ ์ฅ ๋ ๊ฒ
*/
--50๋ฒ ๊ฐ๋ฐ๋ถ ์์ธ...
--์ด ๋ฐ์ดํฐ๋ TBL_DEPT ํ
์ด๋ธ์ด ์ ์ฅ๋์ด ์๋
--ํ๋๋์คํฌ์์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ์ฉ๋์ด ์ ์ฅ๋ ๊ฒ์ด ์๋๋ค.
--๋ฉ๋ชจ๋ฆฌ(RAM) ์์ ์
๋ ฅ๋ ๊ฒ์ด๋ค.
--โ ๋กค๋ฐฑ
ROLLBACK; -- ํ
์ด๋ธ์์์
SELECT *
FROM TBL_DEPT;
/*
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
*/
-- 50๋ฒ ๊ฐ๋ฐ๋ถ ์์ธ... ์ ๋ํ ๋ฐ์ดํฐ๊ฐ ์์ค ๋์์์ ํ์ธ(์กด์ฌํ์ง ์์)
--โ ๋ค์๋ฐ์ดํฐ ์
๋ ฅ
INSERT INTO TBL_DEPT VALUES(50, '๊ฐ๋ฐ๋ถ', '์์ธ');
--==>> 1 ํ ์ด(๊ฐ) ์ฝ์
๋์์ต๋๋ค.
SELECT *
FROM TBL_DEPT;
-- 50๋ฒ ๊ฐ๋ฐ๋ถ ์์ธ...
-- ์ด ใท์ดํฐ๋ TBL_DEPT ํ
์ด๋ธ์ด ์ ์ฅ๋์ด ์๋ ํ๋๋์คํฌ ์์ ์ ์ฅ๋ ๊ฒ์ด ์๋๋ผ
--๋ฉ๋ชจ๋ฆฌ(RAM) ์์ ์
๋ ฅ๋ ๊ฒ์ด๋ค.
--์ด๋ฅผ... ์ค์ ํ๋๋์คํฌ ์์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ์ฅ๋ ์ํฉ์ ํ์ ํ๊ธฐ ์ํด์๋
--COMMIT์ ์ํํด์ผ ํ๋ค.
COMMIT;
--==>> ์ปค๋ฐ ์๋ฃ
--โ ์ปค๋ฐ ์ดํ ๋ค์ ํ์ธ
SELECT *
FROM TBL_DEPT;
--==>>
/*
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
50 ๊ฐ๋ฐ๋ถ ์์ธ
*/
ROLLBACK;
--==>> ๋กค๋ฐฑ ์๋ฃ.
-- ๋กค๋ฐฑ(ROLLBACK)์ ์ํํ์์์๋ ๋ถ๊ตฌํ๊ณ
-- 50๋ฒ ์์ธ์... ์ ํ ํํ๋ ์์ค๋์ง ์์์์ผ ํ์ธ
--โป COMMIT ์ ์คํํ ์ดํ๋ก DML(INSERT, UPDATE, DELETE) ๊ตฌ๋ฌธ์ ํตํด
-- ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ๋ฅผ ํ์ํ ์ ์๋ ๊ฒ ๋ฟ...
-- DML ๋ช
๋ น์ ์ฌ์ฉํ ํ COMMIT์ ์ํํ๊ณ ๋์ ROLLBACK์ ์คํํด๋ด์ผ
-- ์๋ฌด์์ฉ์ด ์๋ค.
--โ ๋ฐ์ดํฐ ์์ (UPDATE -> TBL_DEPT)
--** COMMIT ์ด๋ ROLLBACK ๋ณด๋ค ํจ์ฌ ์ค์ํ ์ด์ผ๊ธฐ
--** CREATE, ALTER ๋ AUTO COMMIT!! ์ฃผ์ํ๊ธฐ!!
UPDATE TBL_DEPT
SET DNAME = '์ฐ๊ตฌ๋ถ', LOC = '๊ฒฝ๊ธฐ'
FROM DEPTNO = 50;