๋ฐ˜์‘ํ˜•

๐Ÿ“Œ ๋ฐ์ดํ„ฐ์— ์กฐ๊ฑด์„ ๋ถ™์—ฌ ์กฐํšŒํ•˜๊ธฐ(WHERE)

-- ํŒŒ์ผ๋ช… : 02_Select_Where.sql
-- ๋ฐ์ดํ„ฐ์— ์กฐ๊ฑด์„ ๋ถ™์—ฌ ์กฐํšŒํ•˜๊ธฐ
-- 1) ๋น„๊ต์—ฐ์‚ฐ์ž๋กœ ์กฐ๊ฑด์ ˆ ์‚ฌ์šฉํ•˜๊ธฐ
-- ์˜ˆ์ œ 1) ์›”๊ธ‰(SALARY)์ด 1500 ์ด์ƒ์ธ ์‚ฌ์› ์กฐํšŒํ•˜๊ธฐ
-- ์‚ฌ์šฉ๋ฒ•) SELECT ์ปฌ๋Ÿผ๋ช…, ์ปฌ๋Ÿผ๋ช…2... FROM ํ…Œ์ด๋ธ”๋ช…
--        WHERE ์กฐ๊ฑด์ ˆ(์ปฌ๋Ÿผ๋ช… (๋ถ€๋“ฑํ˜ธ >, >=, <, <=, =(๊ฐ™๋‹ค), <>(๊ฐ™์ง€์•Š๋‹ค)) ๊ฐ’);
SELECT ENAME, SALARY FROM EMPLOYEE
WHERE SALARY > 1500;
 

-- ์˜ˆ์ œ 2) 10๋ฒˆ ๋ถ€์„œ์˜ ์†Œ์† ์‚ฌ์›์„ ์ถœ๋ ฅํ•˜์„ธ์š”
SELECT * FROM EMPLOYEE
WHERE DNO = 10;

-- ์˜ˆ์ œ 3) ์‚ฌ์›๋ช…(ENAME)์ด SCOTT์ธ ์‚ฌ์›์„ ์ถœ๋ ฅํ•˜์„ธ์š”
SELECT * FROM EMPLOYEE
WHERE ENAME='SCOTT';

-- ์˜ˆ์ œ 4) ์ž…์‚ฌ์ผ์ด(HIREDATE) ์ด '1981/01/01' ์ด์ „์ธ ์‚ฌ์›๋งŒ ์ถœ๋ ฅ
SELECT * FROM EMPLOYEE
WHERE HIREDATE <= '1981/01/01';

๐Ÿ“Œ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž์™€ ํ•จ๊ป˜ ์กฐ๊ฑด์ ˆ ์‚ฌ์šฉํ•˜๊ธฐ


-- 2) ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž์™€ ํ•จ๊ป˜ ์กฐ๊ฑด์ ˆ ์‚ฌ์šฉํ•˜๊ธฐ
-- ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž : AND, OR, NOT
-- ์„ฑ๋Šฅ : AND > OR(NOT)
-- ์˜ˆ์ œ 5) ๋ถ€์„œ๋ฒˆํ˜ธ(DNO) ๊ฐ€ 10์ด๊ณ , ์ง๊ธ‰(JOB)์ด 'MANAGER'์ธ ์‚ฌ์›์„ ์ถœ๋ ฅํ•˜์„ธ์š”
SELECT * FROM EMPLOYEE
WHERE DNO = 10
AND   JOB = 'MANAGER';

-- ์—ฐ์Šต 1) ๊ธ‰์—ฌ๊ฐ€ 1000๊ณผ 1500 ์‚ฌ์ด์˜ ์‚ฌ์› ์กฐํšŒํ•˜๊ธฐ
SELECT * FROM EMPLOYEE
WHERE SALARY >= 1000
AND SALARY <= 1500;

-- ์˜ˆ์ œ 6) ๋ถ€์„œ๋ฒˆํ˜ธ๊ฐ€ 10์ด๊ฑฐ๋‚˜ ์ง๊ธ‰์ด 'MANAGER' ์ธ ์‚ฌ์›๋งŒ ์ถœ๋ ฅํ•˜๊ธฐ
SELECT * FROM EMPLOYEE
WHERE DNO = 10
OR    JOB = 'MANAGER';

-- ์˜ˆ์ œ 7) 10๋ฒˆ ๋ถ€์„œ์— ์†Œ์†๋œ ์‚ฌ์›์„ ์ œ์™ธํ•˜๊ณ  ๋‚˜๋จธ์ง€ ์‚ฌ์› ์ถœ๋ ฅํ•˜๊ธฐ
-- ์‚ฌ์šฉ๋ฒ•) SELECT ์ปฌ๋Ÿผ๋ช… FROM ํ…Œ์ด๋ธ”๋ช…
--        WHERE NOT ์ปฌ๋Ÿผ๋ช…; (๊ทธ ๊ฐ’์— ๋ฐ˜๋Œ€๋˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ถœ๋ ฅ๋จ)
SELECT * FROM EMPLOYEE
WHERE NOT DNO = 10;

-- ๋‹ค๋ฅธ ๋ฐฉ๋ฒ• : ๋น„๊ต์—ฐ์‚ฐ์ž <> ์‚ฌ์šฉ
SELECT * FROM EMPLOYEE
WHERE DNO <> 10;

-- ์—ฐ์Šต 2) ๊ธ‰์—ฌ๊ฐ€ 1000 ๋ฏธ๋งŒ์ด๊ฑฐ๋‚˜ 1500 ์ดˆ๊ณผ์ธ ์‚ฌ์› ์ถœ๋ ฅ
SELECT * FROM EMPLOYEE
WHERE SALARY < 1000
OR SALARY > 1500;

-- ์—ฐ์Šต 3) ์ปค๋ฏธ์…˜์ด 300 ์ด๊ฑฐ๋‚˜ 500์ด๊ฑฐ๋‚˜ 1400 ์ธ ์‚ฌ์› ์ถœ๋ ฅ
SELECT * FROM EMPLOYEE
WHERE COMMISSION = 300
OR    COMMISSION = 500
OR    COMMISSION = 1400;

๐Ÿ“Œ BETWEEN ์˜ˆ์•ฝ์–ด


-- 3) BETWEEN ์˜ˆ์•ฝ์–ด
-- ์˜ˆ์ œ 8) ๊ธ‰์—ฌ๊ฐ€ 1000๊ณผ 1500 ์‚ฌ์ด์˜ ์‚ฌ์› ์กฐํšŒํ•˜๊ธฐ
SELECT * FROM EMPLOYEE
WHERE SALARY >= 1000
AND SALARY <= 1500;

-- BETWEEN ์‚ฌ์šฉ
-- ์‚ฌ์šฉ๋ฒ• ) SELECT ์ปฌ๋Ÿผ๋ช… FROM ํ…Œ์ด๋ธ”๋ช…
--         WHERE ์ปฌ๋Ÿผ๋ช… BETWEEN ์ž‘์€๊ฐ’ AND ํฐ ๊ฐ’;  
-- ์‚ฌ์šฉ์ฒ˜ : ์ž‘์€๊ฐ’ ~ ํฐ ๊ฐ’ ์‚ฌ์ด์˜ ๊ฒฐ๊ณผ ์กฐํšŒํ•˜๊ธฐ ํ•  ๋•Œ ์‚ฌ์šฉ
SELECT * FROM EMPLOYEE
WHERE SALARY BETWEEN 1000 AND 1500;

-- NOT BETWEEN
-- ์˜ˆ์ œ 9) ๊ธ‰์—ฌ๊ฐ€ 1000 ๋ฏธ๋งŒ ์ด๊ฑฐ๋‚˜ 1500 ์ดˆ๊ณผ์ธ ์‚ฌ์› ์กฐํšŒํ•˜๊ธฐ
SELECT * FROM EMPLOYEE
WHERE SALARY < 1000
OR SALARY > 1500;

-- NOT BETWEEN ์‚ฌ์šฉ
SELECT * FROM EMPLOYEE
WHERE SALARY NOT BETWEEN 1000 AND 1500;

-- ์—ฐ์Šต 3) 1982๋…„์— ์ž…์‚ฌํ•œ ์‚ฌ์› ์กฐํšŒํ•˜๊ธฐ
SELECT * FROM EMPLOYEE
WHERE HIREDATE BETWEEN '1982/01/01' AND '1982/12/31';

๐Ÿ“Œ IN ์˜ˆ์•ฝ์–ด


-- 4) IN ์˜ˆ์•ฝ์–ด
-- ์˜ˆ์ œ 10) ์ƒ์—ฌ๊ธˆ(COMMISSION)์ด 300์ด๊ฑฐ๋‚˜ 500์ด๊ฑฐ๋‚˜ 1400์ธ ์‚ฌ์› ์กฐํšŒ
SELECT * FROM EMPLOYEE
WHERE COMMISSION = 300
OR    COMMISSION = 500
OR    COMMISSION = 1400;

-- IN ์‚ฌ์šฉ
-- ์‚ฌ์šฉ๋ฒ• ) SELECT ์ปฌ๋Ÿผ๋ช… FROM ํ…Œ์ด๋ธ”๋ช…
--         WHERE ์ปฌ๋Ÿผ๋ช… IN (๊ฐ’, ๊ฐ’2, ๊ฐ’3....);
-- ์‚ฌ์šฉ์ฒ˜ : OR๋กœ ์—ฐ๊ฒฐ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ฌ์šฉ๊ฐ€๋Šฅ
SELECT * FROM EMPLOYEE
WHERE COMMISSION IN (300, 500, 1400);

-- NOT IN ์‚ฌ์šฉ
-- ์˜ˆ์ œ 11) ์ƒ์—ฌ๊ธˆ(COMMISSION)์ด 300์ด ์•„๋‹ˆ๊ณ , 500์ด ์•„๋‹ˆ๊ณ , 1400์ด ์•„๋‹Œ ์‚ฌ์› ์กฐํšŒ
-- ์‚ฌ์šฉ๋ฒ• ) SELECT ์ปฌ๋Ÿผ๋ช… FROM ํ…Œ์ด๋ธ”๋ช…
--         WHERE ์ปฌ๋Ÿผ๋ช… NOT IN (๊ฐ’, ๊ฐ’2, ๊ฐ’3....);
SELECT * FROM EMPLOYEE
WHERE COMMISSION NOT IN (300, 500, 1400);

๐Ÿ“Œ LIKE ๊ฒ€์ƒ‰


-- 5) LIKE ๊ฒ€์ƒ‰(*****)
-- ์ •์˜ : ์ผ๋ถ€ ํ‚ค์›Œ๋“œ(์˜๋ฌธ์ž, ํ•œ๊ธ€)๋งŒ ์‚ฌ์šฉํ•ด์„œ ๋น„์Šทํ•œ ๊ฒƒ๋“ค๋งŒ ์ถ”๋ ค์„œ ์กฐํšŒํ•˜๊ธฐ
-- ์˜ˆ์ œ 12) ์ด๋ฆ„์ด 'F'๋กœ ์‹œ์ž‘ํ•˜๋Š” ์‚ฌ์› ์กฐํšŒํ•˜๊ธฐ
-- ์‚ฌ์šฉ๋ฒ•) SELECT ์ปฌ๋Ÿผ๋ช… FROM ํ…Œ์ด๋ธ”๋ช…
--        WHERE ์ปฌ๋Ÿผ๋ช… LIKE '%ํ‚ค์›Œ๋“œ%';
-- % : ํ‚ค์›Œ๋“œ๋ฅผ ์ œ์™ธํ•œ ๋ฌธ์ž๋“ค
SELECT * FROM EMPLOYEE
WHERE ENAME LIKE 'F%';

-- ์—ฐ์Šต 4) ์ด๋ฆ„์— 'M'์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์‚ฌ์› ์กฐํšŒํ•˜๊ธฐ
SELECT * FROM EMPLOYEE
WHERE ENAME LIKE '%M%';

-- ์—ฐ์Šต 5) ์ด๋ฆ„์ด 'N'์œผ๋กœ ๋๋‚˜๋Š” ์‚ฌ์› ์กฐํšŒํ•˜๊ธฐ
SELECT * FROM EMPLOYEE
WHERE ENAME LIKE '%N';

-- ์˜ˆ์ œ 13) ์ด๋ฆ„์˜ ๋‘๋ฒˆ ์งธ ๊ธ€์ž๊ฐ€ 'A'์ธ ์‚ฌ์› ์กฐํšŒํ•˜๊ธฐ
-- LIKE๊ธฐํ˜ธ : %(ํ‚ค์›Œ๋“œ๋ฅผ ์ œ์™ธํ•œ ์–ด๋–ค ๋ฌธ์ž์—ด์„ ์˜๋ฏธ)
--         : _(ํ‚ค์›Œ๋“œ๋ฅผ ์ œ์™ธํ•œ ์–ด๋–ค ํ•œ ๋ฌธ์ž๋ฅผ ์˜๋ฏธ)
SELECT * FROM EMPLOYEE
WHERE ENAME LIKE '_A%';

-- ์—ฐ์Šต 6) ์ด๋ฆ„์˜ ์„ธ๋ฒˆ ์งธ ๊ธ€์ž๊ฐ€ 'A'์ธ ์‚ฌ์› ์กฐํšŒํ•˜๊ธฐ
SELECT * FROM EMPLOYEE
WHERE ENAME LIKE '__A%';

-- ์˜ˆ์ œ 14)IN, BETWEEN ์˜ ๋ฐ˜๋Œ€๋ฅผ ๋‚˜ํƒ€๋‚ผ ๋•Œ NOT ์•ž์— ๋ถ™์—ฌ์„œ ์‚ฌ์šฉํ–ˆ์Œ
-- LIKE์˜ ๋ฐ˜๋Œ€๋ฅผ ๋‚˜ํƒ€๋‚ผ ๋•Œ ๋˜‘๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ : NOT LIKE
-- ์ด๋ฆ„์— A๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š๋Š” ์‚ฌ๋žŒ์„ ์กฐํšŒํ•˜์„ธ์š”
SELECT * FROM EMPLOYEE
WHERE ENAME NOT LIKE '%A%';

๐Ÿ“Œ NULL ๊ฒ€์ƒ‰

-- 6) NULL ๊ฒ€์ƒ‰(์กฐํšŒ)
-- ์˜ˆ์ œ 15) ์ƒ์—ฌ๊ธˆ(COMMISSION)์ด NULL ์ธ ์‚ฌ์›์„ ์กฐํšŒํ•˜์„ธ์š”
-- NULL์˜ ํŠน์ง• : ์—ฐ์‚ฐ/๋น„๊ต ๋ชจ๋“  ๊ฒƒ์ด ์•ˆ๋จ -> ๊ฒฐ๊ณผ๋Š” NULL
-- ์˜ˆ์•ฝ์–ด : NULL ์กฐํšŒ์‹œ : WHERE ์ปฌ๋Ÿผ๋ช… IS NULL;
SELECT * FROM EMPLOYEE
WHERE COMMISSION IS NULL;

-- IN๊ณผ BETWEEN, LIKE์˜ ๋ฐ˜๋Œ€๋Š” ์•ž์— NOT
-- IS NOT NULL์ด ์กด์žฌํ•จ
SELECT * FROM EMPLOYEE
WHERE COMMISSION IS NOT NULL;

๐Ÿ“Œ ORDER BY ์ •๋ ฌ


-- 7) ORDER BY : ์ •๋ ฌ ๊ธฐ๋Šฅ
-- ์˜ˆ์ œ 16) ์‚ฌ์› ํ…Œ์ด๋ธ”์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์„ธ์š”
-- ์‚ฌ์šฉ๋ฒ• ) SELECT ์ปฌ๋Ÿผ๋ช… FROM ํ…Œ์ด๋ธ”๋ช…
--         ORDER BY ์ •๋ ฌ๋Œ€์ƒ์ปฌ๋Ÿผ ASC/DESC;
-- ์ฐธ๊ณ ) ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ์„ฑ๋Šฅ์ด ๋Œ€ํญ ์ €ํ•˜
SELECT * FROM EMPLOYEE
ORDER BY SALARY ASC; -- ASC(์˜ค๋ฆ„์ฐจ์ˆœ, ์ƒ๋žต๊ฐ€๋Šฅ)

-- ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ
SELECT * FROM EMPLOYEE
ORDER BY SALARY DESC; -- DESC(๋‚ด๋ฆผ์ฐจ์ˆœ, ์ƒ๋žต๋ถˆ๊ฐ€)

-- ์—ฐ์Šต7) ์‚ฌ์› ํ…Œ์ด๋ธ”์—์„œ ์‚ฌ์›๋ช…์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
SELECT * FROM EMPLOYEE
ORDER BY ENAME;

-- ์—ฐ์Šต8) ์ž…์‚ฌ์ผ ๋ฐ์ดํ„ฐ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ
SELECT * FROM EMPLOYEE
ORDER BY HIREDATE DESC;

-- ์—ฐ์Šต9) ์‚ฌ์›ํ…Œ์ด๋ธ”์—์„œ ๊ธ‰์—ฌ๋Š” ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ , ์‚ฌ์›๋ช…์€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ
SELECT * FROM EMPLOYEE
ORDER BY SALARY DESC, ENAME ASC;

 

๋ฐ˜์‘ํ˜•

'SQL > SQL_์ด๋ก ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

TABLE_CUD  (0) 2023.09.14
SUBQUERY  (0) 2023.09.14
๊ทธ๋ฃนํ•จ์ˆ˜  (0) 2023.09.14
์˜ค๋ผํด ๋‚ด์žฅํ•จ์ˆ˜  (0) 2023.09.08
SQL ๊ธฐ๋ณธ  (0) 2023.09.08

+ Recent posts