๊ฐœ์ธ๊ณต๋ถ€/SQL

114. SQL200์ œ (001~015)

LEE_BOMB 2022. 1. 31. 17:58

001

SELECT empno, ename, sal
FROM emp;



002

SELECT *
FROM emp;

SELECT dept.*, deptno
FROM dept;



003

SELECT empno as ์‚ฌ์›๋ฒˆํ˜ธ, ename as ์‚ฌ์›์ด๋ฆ„, sal as "Salary"
FROM emp;

SELECT ename, sal*(12+3000) as ์›”๊ธ‰ -- order by์ ˆ ์‚ฌ์šฉ ์‹œ ๋ณ„์นญ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ์œ ์šฉ
FROM emp;



004

SELECT ename || sal
FROM emp;

SELECT ename || '์˜ ์›”๊ธ‰์€ ' || sal || '์ž…๋‹ˆ๋‹ค' as ์›”๊ธ‰์ •๋ณด
FROM emp;

SELECT ename || '์˜ ์ง์—…์€ ' || job || '์ž…๋‹ˆ๋‹ค' as ์ง์—…์ •๋ณด
FROM emp;



005

SELECT DISTINCT job
FROM emp;

SELECT UNIQUE job
FROM emp;



006

SELECT ename, sal
FROM emp
ORDER BY sal asc; -- ์›”๊ธ‰ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ

SELECT ename, sal as ์›”๊ธ‰
FROM emp
ORDER BY ์›”๊ธ‰ asc; -- ์›”๊ธ‰ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ

SELECT ename, deptno, sal
FROM emp
ORDER BY deptno asc, sal desc; -- ๋ถ€์„œ ๋ฒˆํ˜ธ ์˜ค๋ฆ„์ฐจ์ˆœ๋œ ๊ฒƒ์„ ๊ธฐ์ค€์œผ๋กœ ์›”๊ธ‰์„ ๋†’์€ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ

SELECT ename, deptno, sal
FROM emp
ORDER BY 2 asc, 3 desc; -- select์ ˆ ์นผ๋Ÿผ ์ˆœ์„œ



007

SELECT ename, sal, job
FROM emp
WHERE sal = 3000;

SELECT ename as ์ด๋ฆ„, sal as ์›”๊ธ‰
FROM emp
WHERE sal >= 3000;

SELECT ename as ์ด๋ฆ„, sal as ์›”๊ธ‰
FROM emp
WHERE ์›”๊ธ‰ >= 3000; -- error! ORA-00904: "์›”๊ธ‰": invalid identifier (๋ถ€์ ํ•ฉํ•œ ์‹๋ณ„์ž)



008

SELECT ename, sal, job, hiredate, deptno
FROM emp
WHERE ename = 'SCOTT'; -- ํฐ ๋”ฐ์˜ดํ‘œ ์˜ค๋ฅ˜

SELECT ename, hiredate
FROM emp
WHERE hiredate = '81/11/17'; -- ์—ฐ๋„/์›”/์ผ ์ˆœ์„œ

SELECT *
FROM NLS_DATABASE_PARAMETERS -- ํ˜„์žฌ ์ ‘์†ํ•œ ์„ธ์…˜์˜ ๋‚ ์งœ ํ˜•์‹ ํ™•์ธ
WHERE parameter = 'NLS_DATE_FORMAT';

ALTER SESSION SET NLS_DATE_FORMAT='YY/MM/DD'; -- ์„ธ์…˜ ๋‚ ์งœ ํ˜•์‹ ๋ณ€๊ฒฝ

SELECT ename, sal
FROM emp
WHERE hiredate = '81/11/17'; -- ์„ ํƒ๋œ ๋ ˆ์ฝ”๋“œ ์—†์Œ

ALTER SESSION SET NLS_DATE_FORMAT='RR/MM/DD'; -- ๋…„๋„/๋‹ฌ/์ผ
RR๊ณผ YY ๋‘˜ ๋‹ค ์—ฐ๋„์ธ๋ฐ ์™œ ์ถœ๋ ฅ๋˜์ง€ ์•Š์•˜๋‚˜?

RR์€ ํ˜„์žฌ ์„ธ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ 81๋…„๋„๋ฅผ ์ด์ „ ์„ธ๊ธฐ๋กœ ์ธ์‹ํ•œ๋‹ค.
YY๋Š” 81๋…„๋„๋ฅผ ํ˜„์žฌ ์„ธ๊ธฐ์˜ ์—ฐ๋„๋กœ ์ธ์‹ํ•œ๋‹ค.

*YY๋Š” 81๋…„์„ 2081๋…„์œผ๋กœ ์ธ์‹, RR์€ 1981๋…„์œผ๋กœ ์ธ์‹

 

 

009

SELECT ename, sal*12 as ์—ฐ๋ด‰
FROM emp
WHERE sal*12 >= 36000;

SELECT ename, sal, comm, sal+comm
FROM emp
WHERE deptno = 10;

SELECT ename, sal, comm, sal+NVL(comm,0)
FROM emp
WHERE deptno = 10; -- NVL (comm, 0) : comm์„ ์ถœ๋ ฅํ•  ๋•Œ, NULL์ด๋ฉด 0์œผ๋กœ ์ถœ๋ ฅํ•ด๋ผ



010

SELECT ename, sal, job, deptno
FROM emp
WHERE sal <= 1200;



011

SELECT ename, sal
FROM emp
WHERE sal BETWEEN 1000 AND 3000; -- ๊ทœ์น™! BETWEEN ํ•˜ํ•œ๊ฐ’ AND ์ƒํ•œ๊ฐ’ 

SELECT ename, sal
FROM emp
WHERE (sal >= 1000 AND sal <= 3000);

SELECT ename, sal
FROM emp
WHERE NOT sal BETWEEN 1000 AND 3000; -- ์ดํ€„(=)์ด ๋ถ™์ง€ ์•Š์Œ

SELECT ename, sal
FROM emp
WHERE (sal < 1000 OR sal > 3000); -- ๊ฐ€๋…์„ฑ๋ฉด์—์„œ BETWEEN~๊ตฌ๋ฌธ์ด ํ›จ์”ฌ ์ข‹๋‹ค

SELECT ename, hiredate
FROM emp
WHERE hiredate BETWEEN '1982/01/01' AND '1982/12/31'; -- ๋‚ ์งœ์—๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค



012

SELECT ename, sal
FROM emp
WHERE ename LIKE 'S%';

SELECT ename
FROM emp
WHERE ename LIKE '_M%'; -- ๋‘ ๋ฒˆ์งธ ์ฒ ์ž M์ธ ์‚ฌ์› ์ด๋ฆ„ ์ถœ๋ ฅ

SELECT ename
FROM emp
WHERE ename LIKE '%T';

SELECT ename
FROM emp
WHERE ename LIKE '%A%'; -- ์ด๋ฆ„์— A๊ฐ€ ํฌํ•จ๋œ ๋ชจ๋“  ์‚ฌ์›



013

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


SELECT ename, comm
FROM emp
WHERE comm != NULL; -- NULL์•„๋‹Œ ๋ฐ์ดํ„ฐ ์ถœ๋ ฅ ๋ถˆ๊ฐ€.



014

SELECT ename, sal, job
FROM emp
WHERE job IN ('SALESMAN', 'ANALYST', 'MANAGE'); -- =์€ ํ•˜๋‚˜์˜ ๊ฐ’๋งŒ, IN์€ ์—ฌ๋Ÿฌ ๋ฆฌ์ŠคํŠธ ๊ฐ’ ์กฐํšŒ ๊ฐ€๋Šฅ

SELECT ename, sal, job
FROM emp
WHERE (job = 'SALESMAN' OR job = 'ANALYST' OR job = 'MANAGE'); -- ๋™์ผํ•œ ๊ฒฐ๊ณผ ์ถœ๋ ฅ๋˜๋‚˜ ๊ท€์ฐฎ์Œ

SELECT ename, sal, job
FROM emp
WHERE job NOT IN ('SALESMAN', 'ANALYST', 'MANAGE');

SELECT ename, sal, job
FROM emp
WHERE (job != 'SALESMAN' AND job != 'ANALYST' AND job != 'MANAGE');

 

 

015

SELECT ename, sal, job
FROM emp
WHERE job = 'SALESMAN' AND sal >= 1200;

SELECT ename, sal, job
FROM emp
WHERE job = 'ABC' AND sal >= 1200;  -- ๋‘ ์กฐ๊ฑด ์ค‘ ํ•˜๋‚˜๋ผ๋„ FALSE์ด๋ฉด ๋ฐ์ดํ„ฐ ๋ฐ˜ํ™˜๋˜์ง€ ์•Š์Œ
๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž ์—ฐ์‚ฐ๊ฒฐ๊ณผ

AND๋Š” ๋ชจ๋‘๊ฐ€ TRUE์—ฌ์•ผ TRUE๊ฐ’ ๋ฐ˜ํ™˜
* TRUE AND NULL์€ NULL์ด ๋ฐ˜ํ™˜

OR๋Š” ๋‘˜ ์ค‘ ํ•˜๋‚˜๋งŒ TRUE์—ฌ๋„ TRUE๊ฐ’ ๋ฐ˜ํ™˜
* TRUE OR NULL์€ TRUE ๋ฐ˜ํ™˜

NOT TRUE์™€ FALSE์ผ ๋•Œ TRUE๊ฐ’ ๋ฐ˜ํ™˜
* TRUE NOT NULL์€ NULL ๋ฐ˜ํ™˜