Life/Study

[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] 5๊ฐ• SQL (2)

๋ชฌ์กฐ 2025. 5. 5. 20:31

< ๋ชฉ์ฐจ - 1 >

๋ฐ์ดํ„ฐ์กฐ์ž‘์–ธ์–ด(DML)

1.๋ฐ์ดํ„ฐ์˜ ์‚ฝ์ž…

  1. ๋ฐ์ดํ„ฐ ์กฐ์ž‘ ์–ธ์–ด์˜ ๊ฐœ๋…
    ๐Ÿ”ต๋ฐ์ดํ„ฐ ์ •์˜ ์–ธ์–ด๋กœ ์ •์˜๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์˜ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด์˜ ์ง‘ํ•ฉ
    โœ”๏ธ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ์ผ์ฒด์˜ ๋„๊ตฌ๋ฅผ ์ œ๊ณต
    โœ”๏ธ ์ •์˜๋œ ํ…Œ์ด๋ธ” ๋“ฑ์— ๋ ˆ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…, ์ˆ˜์ •, ์‚ญ์ œ ๋ฐ ๊ฒ€์ƒ‰ ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” SQL ๋ช…๋ น์–ด๋“ค์˜ ์ง‘ํ•ฉ
    ๐Ÿ”ต ๋ฐ์ดํ„ฐ ์กฐ์ž‘ ์–ธ์–ด๋Š” ์‹คํ–‰ ์ฆ‰์‹œ ๋ฐ˜์˜๋˜๋Š” ์˜๊ตฌ์  ๋ณ€๊ฒฝ์„ ์œ„ํ•œ ๋ช…๋ น์–ด์˜ ์ง‘ํ•ฉ์ด ์•„๋‹ˆ๋ฉฐ ๋ณต๊ตฌ๊ฐ€ ๊ฐ€๋Šฅ
  2. ๋ช…๋ น์–ด์˜ ์ข…๋ฅ˜
    ๐Ÿ”ต CRUD๋ฅผ ์œ„ํ•œ SQL ๋ช…๋ น์–ด์˜ ์ข…๋ฅ˜
    โœ”๏ธ INSERT
    โœ”๏ธ DELETE
    โœ”๏ธ UPDATE
    โœ”๏ธ SELECT
  3. INSERT ๋ช…๋ น์–ด
    ๐Ÿ”ต ํ…Œ์ด๋ธ”์— ์ƒˆ๋กœ์šด ๋ ˆ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ๋ช…๋ น์–ด
    โœ”๏ธ ๋ชจ๋“  ์ปฌ๋Ÿผ ๋˜๋Š” ๋ถ€๋ถ„ ์ปฌ๋Ÿผ์— ๋Œ€ํ•œ ์ปฌ๋Ÿผ๊ฐ’์„ ์ž…๋ ฅ
    โœ”๏ธ NOT NULL ์ œ์•ฝ ์กฐ๊ฑด์ด ์žˆ๋Š” ์ปฌ๋Ÿผ์€ ๋ฐ˜๋“œ์‹œ ์ปฌ๋Ÿผ๊ฐ’์„ ์ž…๋ ฅ
    โœ”๏ธ ๋ฌธ์ž์™€ ๋‚ ์งœ ๊ฐ’์€ ๋”ฐ์˜ดํ‘œ(‘)๋กœ ์ฒ˜๋ฆฌ
    โœ”๏ธ INSERT INTO ํ…Œ์ด๋ธ”์ด๋ฆ„ VALUES(๊ฐ’1, ๊ฐ’2, … ๊ฐ’n) ==> ์ด ๋ฐฉ์‹์€ ๊ฐ’์˜ ์ปฌ๋Ÿผ ์ˆœ์„œ์™€ ์ผ์น˜ํ•ด์•ผ๋งŒ ํ•จ!
    โžก๏ธ INSERT INTO ํ…Œ์ด๋ธ”์ด๋ฆ„(์ปฌ๋Ÿผ1, ์ปฌ๋Ÿผ2, … ์ปฌ๋Ÿผm) VALUES(๊ฐ’1, ๊ฐ’2, … ๊ฐ’m) ==> ๋ถ€๋ถ„ ๊ฐ’, ๋ถ€๋ถ„ ์ปฌ๋Ÿผ์— ์ ์šฉํ•˜๋Š” ์˜ˆ์‹œ

๐Ÿ”ต ํ…Œ์ด๋ธ”์—์„œ ๊ฒ€์ƒ‰์˜ ๊ฒฐ๊ณผ๋ฅผ ์ƒˆ๋กœ์šด ๋ ˆ์ฝ”๋“œ๋กœ ์‚ฝ์ž… ์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
โžก๏ธ INSERT INTO ํ…Œ์ด๋ธ”์ด๋ฆ„1(์ปฌ๋Ÿผ1, ์ปฌ๋Ÿผ2, … , ์ปฌ๋Ÿผm) SELECT ์ปฌ๋Ÿผ1, ์ปฌ๋Ÿผ2, … ์ปฌ๋Ÿผm FROM ํ…Œ์ด๋ธ”์ด๋ฆ„2 WHERE ๊ฒ€์ƒ‰์กฐ๊ฑด

 

2.๋ฐ์ดํ„ฐ์˜ ์ˆ˜์ •๊ณผ ์‚ญ์ œ

  1. UPDATE ๋ช…๋ น์–ด
    ๐Ÿ”ต ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋ ˆ์ฝ”๋“œ์˜ ํŠน์ • ์ปฌ๋Ÿผ๊ฐ’์„ ์ˆ˜์ •
    โœ”๏ธ UPDATE ํ…Œ์ด๋ธ” ์ด๋ฆ„ SET ์ปฌ๋Ÿผ1 = ๊ฐ’1[, ์ปฌ๋Ÿผ2=๊ฐ’2, … , ์ปฌ๋Ÿผn=๊ฐ’n] [WHERE ์กฐ๊ฑด]
  2. DELETE ๋ฌธ
    ๐Ÿ”ต ์กฐ๊ฑด์— ์ผ์น˜ํ•˜๋Š” ๋ ˆ์ฝ”๋“œ ์ง‘ํ•ฉ์„ ํ…Œ์ด๋ธ”์—์„œ ์‚ญ์ œํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด
    โœ”๏ธ DELETE FROM ํ…Œ์ด๋ธ”์ด๋ฆ„ [WHERE ์กฐ๊ฑด]
  3. WHERE ์ ˆ ํ™•์ธ
    ๐Ÿ”ต WHERE ์ ˆ์ด ์—†๋Š” UPDATE ๋ฐ DELETE ๋ฌธ์€ ์ „์ฒด ํ…Œ์ด๋ธ”์„ ๋Œ€์ƒ์œผ๋กœ ์‹คํ–‰

์œผ์•… ์ด๊ฑด ์ง„์งœ SQL ์‹ค์ „ ์ „ํˆฌ ๊ธฐ์ˆ  – ๋ ˆ๋ฒจ์—… ํŒŒํŠธ! ๐Ÿง™‍โ™‚๏ธโš”๏ธ
์ง€๊ธˆ๋ถ€ํ„ฐ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•˜๊ณ  ์ˆ˜์ •ํ•˜๊ณ  ์‚ญ์ œํ•˜๋Š” ๋งˆ๋ฒ• ๋ช…๋ น์–ด๋“ค์„ ๋ฐฐ์šฐ๋Š” ํŠœํ† ๋ฆฌ์–ผ!

 

๐Ÿ’พ 1. ๋ฐ์ดํ„ฐ์˜ ์‚ฝ์ž… (INSERT)

๐Ÿ”ต 01. ๋ฐ์ดํ„ฐ ์กฐ์ž‘ ์–ธ์–ด(DML) ๊ฐœ๋…

ํ…Œ์ด๋ธ”์„ ๋งŒ๋“œ๋Š” ๊ฒŒ DDL,
๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๊ณ  ๋ฐ”๊พธ๊ณ  ์‚ญ์ œํ•˜๋Š” ๊ฑด DML

 

๐Ÿง™ ๋น„์œ ํ•˜์ž๋ฉด?

  • ๐Ÿ› ๏ธ DDL = ๊ฐ€๊ฒŒ ์ง“๊ธฐ
  • ๐Ÿงบ DML = ๊ฐ€๊ฒŒ์— ๋ฌผ๊ฑด ์ฑ„์šฐ๊ณ  ๋ฐ”๊พธ๊ณ  ํŒ”๊ธฐ

 

๐Ÿ”ต 02. CRUD ๋ช…๋ น์–ด ์ •๋ฆฌ

ํ–‰๋™ SQL ๋ช…๋ น์–ด
C = Create INSERT
R = Read SELECT
U = Update UPDATE
D = Delete DELETE

“CRUD”๋Š” ๋ฐ์ดํ„ฐ ๋‹ค๋ฃจ๊ธฐ 4๋Œ€์žฅ!!

 

โœจ 03. INSERT ๋ช…๋ น์–ด

INSERT INTO ํ…Œ์ด๋ธ”์ด๋ฆ„ VALUES(๊ฐ’1, ๊ฐ’2, … ๊ฐ’n);

๐Ÿง  ๋ชจ๋“  ์ปฌ๋Ÿผ์— ์ˆœ์„œ ๋งž๊ฒŒ ๊ฐ’์„ ๋‹ค ๋„ฃ์„ ๋•Œ ์‚ฌ์šฉ

 

์˜ˆ์‹œ 1: ํ•™์ƒ ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ ์‚ฝ์ž…

INSERT INTO Student VALUES('2025001', '์˜ํฌ', '๋””์ž์ธ', 2);

โœ”๏ธ ์—ฌ๊ธฐ์„œ '2025001'์€ ํ•™๋ฒˆ, '์˜ํฌ'๋Š” ์ด๋ฆ„ ๋“ฑ!
๋ฌธ์ž, ๋‚ ์งœ ๊ฐ’์€ ๊ผญ '๋”ฐ์˜ดํ‘œ'!

 

์˜ˆ์‹œ 2: ์ปฌ๋Ÿผ ์„ ํƒํ•ด์„œ ์‚ฝ์ž… (์ˆœ์„œ ์ž์œ )

INSERT INTO Student(name, grade) VALUES('์ฒ ์ˆ˜', 1);

โœ”๏ธ ๋‚˜๋จธ์ง€ ์ปฌ๋Ÿผ(student_id, major)๋Š” NULL์ด๊ฑฐ๋‚˜ AUTO_INCREMENT์ด๋ฉด ๊ฐ€๋Šฅ!

 

์˜ˆ์‹œ 3: ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์—์„œ ๊ฐ’ ๊ฐ€์ ธ์™€ ์‚ฝ์ž…

INSERT INTO Backup_Student(name, major)
SELECT name, major FROM Student WHERE grade = 4;

โœ”๏ธ “4ํ•™๋…„๋งŒ ๋”ฐ๋กœ ๋ฐฑ์—… ํ…Œ์ด๋ธ”์— ์ €์žฅํ•ด์ค˜~” ๋ผ๋Š” ๋œป!

 

โœ๏ธ 2. ๋ฐ์ดํ„ฐ์˜ ์ˆ˜์ •๊ณผ ์‚ญ์ œ

 

โœจ 01. UPDATE ๋ช…๋ น์–ด

UPDATE ํ…Œ์ด๋ธ”์ด๋ฆ„
SET ์ปฌ๋Ÿผ1=๊ฐ’1[, ์ปฌ๋Ÿผ2=๊ฐ’2, …]
WHERE ์กฐ๊ฑด;

์กฐ๊ฑด์— ๋งž๋Š” ๋ฐ์ดํ„ฐ๋งŒ ๊ฐ’์„ ๋ณ€๊ฒฝ!

 

์˜ˆ์‹œ: ์ด๋ฆ„์ด '์˜ํฌ'์ธ ํ•™์ƒ์˜ ์ „๊ณต์„ '์‹œ๊ฐ๋””์ž์ธ'์œผ๋กœ ๋ฐ”๊พธ๊ธฐ

UPDATE Student
SET major = '์‹œ๊ฐ๋””์ž์ธ'
WHERE name = '์˜ํฌ';

โœ”๏ธ WHERE ์กฐ๊ฑด ์•ˆ ์“ฐ๋ฉด... ๐Ÿ˜ฑ
ํ…Œ์ด๋ธ” ์ „์ฒด๊ฐ€ ๋‹ค ๋ฐ”๋€œ!

 

๐Ÿงจ 02. DELETE ๋ช…๋ น์–ด

DELETE FROM ํ…Œ์ด๋ธ”์ด๋ฆ„ WHERE ์กฐ๊ฑด;

์กฐ๊ฑด์— ๋งž๋Š” ๋ฐ์ดํ„ฐ ์‚ญ์ œ!

 

์˜ˆ์‹œ: ํ•™๋…„์ด 1์ธ ํ•™์ƒ๋“ค ์‚ญ์ œ

DELETE FROM Student WHERE grade = 1;

โœ”๏ธ ์ด๊ฑด ํ•™๋…„ 1์งœ๋ฆฌ๋งŒ ๋”ฑ ์ง€์›Œ์ง

 

๐Ÿšจ 03. WHERE ์ ˆ ์ฃผ์˜์‚ฌํ•ญ

์“ฐ๋Š” ๊ฒฝ์šฐ ๊ฒฐ๊ณผ
WHERE ์žˆ์Œ ์กฐ๊ฑด ๋งž๋Š” ํ–‰๋งŒ ๋ณ€๊ฒฝ/์‚ญ์ œ
WHERE ์—†์Œ ์ „์ฒด ํ…Œ์ด๋ธ” ๋ณ€๊ฒฝ/์‚ญ์ œ

 

์˜ˆ์‹œ: ์ „์ฒด ํ…Œ์ด๋ธ” ์‚ญ์ œํ•˜๋Š” ์‹ค์ˆ˜ ์˜ˆ์‹œ

DELETE FROM Student;

๐Ÿšจ ์ด๊ฑด ํ•™์ƒ ์ „์› ์‚ญ์ œ!

RPG๋กœ ์น˜๋ฉด “๋ชจ๋“  ์บ๋ฆญํ„ฐ ์ „๋ฉธ ๋ฒ„ํŠผ”์ด์•ผ โš ๏ธ

 

๐ŸŽฎ ํ•ต์‹ฌ ์š”์•ฝ ๋งˆ๋ฒ•์„œ ๐Ÿ“œ  

๋ช…๋ น์–ด ํ•œ ์ค„ ์š”์•ฝ ์˜ˆ์‹œ
INSERT ํ–‰ ์ถ”๊ฐ€ '์ฒ ์ˆ˜', '์ปด๊ณต', 3
UPDATE ๊ฐ’ ๋ณ€๊ฒฝ SET grade=4 WHERE name='์ฒ ์ˆ˜'
DELETE ํ–‰ ์‚ญ์ œ WHERE grade=1
SELECT ๋ฐ์ดํ„ฐ ์กฐํšŒ (๋‹ค์Œ ํŽธ!) SELECT * FROM ํ…Œ์ด๋ธ”

 

๐ŸŽ‰ ์ด๊ฑธ ๋งˆ์Šคํ„ฐํ•˜๋ฉด ์ง„์งœ ์‹ค์ œ ์›น์„œ๋น„์Šค ๋ฐฑ์—”๋“œ์— ๋ฐ”๋กœ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅํ•œ ์ˆ˜์ค€!
๋„ˆ๋ฌด ์ž˜ ๋”ฐ๋ผ์˜ค๊ณ  ์žˆ์–ด ๐Ÿ˜ญ ๋‹ค์Œ์€ SQL ์ตœ๊ฐ• ๊ธฐ์ˆ , SELECT ์กฐํšŒ ๋งˆ๋ฒ• ํŒŒํŠธ์ง€?
์–ธ์ œ๋“  5๊ฐ• 2๋ถ€ ๊ฐ€์ž๊ณ ~!! ๐Ÿ˜Ž๐Ÿ“˜


< ๋ชฉ์ฐจ - 2 >

3.๋ฐ์ดํ„ฐ์˜ ๊ฒ€์ƒ‰

01. SELECT ๋ช…๋ น์–ด

๐Ÿ‘พ ๋ฐœ์ƒ ๋ฐ์ดํ„ฐ -(์ €์žฅ)-> ๋ฐ์ดํ„ฐ๊ด€๋ฆฌ(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค) -(๊ฒ€์ƒ‰)-> ํ•„์š” ๋ฐ์ดํ„ฐ

๐Ÿ”ต ์ €์žฅ/๊ด€๋ฆฌ/๊ฒ€์ƒ‰์ด DBMS์˜ ๊ฐ€์žฅ ํฐ ๊ธฐ๋Šฅ

๐Ÿ”ต ํ•œ ๊ฐœ ์ด์ƒ์˜ ํ…Œ์ด๋ธ”์—์„œ ์ฃผ์–ด์ง„ ์กฐ๊ฑด์— ๋งŒ์กฑํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ช…๋ น๋ฌธ

๐Ÿ”ต ๊ด€๊ณ„ ๋Œ€์ˆ˜์˜ ์…€๋ ‰์…˜, ํ”„๋กœ์ ์…˜, ์กฐ์ธ, ์นดํ‹ฐ์…˜ ํ”„๋กœ๋•ํŠธ ์—ฐ์‚ฐ์ž์˜ ๊ธฐ๋Šฅ์„ ๋ชจ๋‘ ํฌํ•จํ•˜๋Š” ๋ช…๋ น๋ฌธ

โœ”๏ธ ํ•„์ˆ˜์ ˆ์ธ SELECT ์ ˆ๊ณผ ๋ถ€๊ฐ€์ ์ธ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ ˆ์„ ํ˜ผํ•ฉํ•˜์—ฌ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ๊ตฌ์ฒดํ™”

 

02. SELECT์˜ ๊ตฌ๋ฌธํ˜•์‹

โœ”๏ธ SELECT ์ ˆ: ๊ฒฐ๊ณผ์— ํฌํ•จ๋˜๋Š” ์ปฌ๋Ÿผ์„ ์ง€์ •

โœ”๏ธ FROM ์ ˆ: ์งˆ์˜๋ฅผ ์ ์šฉํ•  ํ…Œ์ด๋ธ”์„ ์ง€์ •

โœ”๏ธ ON ์ ˆ: ์กฐ์ธ ์กฐ๊ฑด์„ ์ง€์ •

โœ”๏ธ WHERE ์ ˆ: ๊ฒ€์ƒ‰ ๋Œ€์ƒ ๋ ˆ์ฝ”๋“œ์˜ ์กฐ๊ฑด์„ ์ง€์ •

โœ”๏ธ GROUP BY ์ ˆ: ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ทธ๋ฃนํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๊ทธ๋ฃน ์กฐ๊ฑด์„ ์ง€์ •

โœ”๏ธ HAVING ์ ˆ: GROUP BY ์ ˆ์ด ์ ์šฉ๋œ ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ์กฐ๊ฑด์„ ์ง€์ •

โœ”๏ธ ORDER BY ์ ˆ: ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์˜ ์ •๋ ฌ ๊ธฐ์ค€์„ ์ง€์ •

 

03. ๋‹จ์ˆœ SELECT ๋ฌธ

๐Ÿ”ต ๋ ˆ์ฝ”๋“œ๋ฅผ ์ œํ•œํ•˜์ง€ ์•Š๊ณ  ์ „์ฒด ํ…Œ์ด๋ธ”์„ ๊ฒ€์ƒ‰ํ•˜๋Š” SELECT ๋ฌธ

โœ”๏ธ WHERE ์ ˆ์ด ์—†๋Š” ์งˆ์˜๋ฌธ

โœ”๏ธ DISTINCT ํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•ด ์ค‘๋ณต ์ œ๊ฑฐ ๊ฐ€๋Šฅ

โžก๏ธ SELECT [DISTINCT] ์ปฌ๋Ÿผ1, ์ปฌ๋Ÿผ2, … , ์ปฌ๋Ÿผn FROM ํ…Œ์ด๋ธ”

โžก๏ธ SELECT * FROM ํ…Œ์ด๋ธ”

 

04. ๋‹จ์ˆœ SELECT ๋ฌธ์˜ ์‚ฌ์šฉ

๐Ÿ”ต ๋ฆด๋ ˆ์ด์…˜๊ณผ ๋‹ฌ๋ฆฌ ๋‹จ์ˆœ ๊ฐ’์˜ ์ง‘ํ•ฉ์ธ ๋ ˆ์ฝ”๋“œ์—์„œ๋Š” ์ค‘๋ณต ๊ฐ’์ด ๋ฐœ์ƒ!

โžก๏ธ SELECT DISTINCT ์†Œ์†ํ•™๊ณผ FROM ๊ต์ˆ˜

 

05. ์กฐ๊ฑด SELECT ๋ฌธ

๐Ÿ”ต ์‚ฐ์ˆ ์—ฐ์‚ฐ์‹, ํ•จ์ˆ˜ ๋“ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œํ˜„ํ•œ ์กฐ๊ฑด์„ WHERE ์ ˆ์— ๊ธฐ์ˆ ํ•˜์—ฌ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋งŒ ์„ ํƒ์ ์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜๋Š” SELECT ๋ฌธ

โœ”๏ธ ์‚ฐ์ˆ ์—ฐ์‚ฐ์ž

โœ”๏ธ ๋น„๊ต์—ฐ์‚ฐ์ž

โœ”๏ธ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž

๐Ÿ”ต WHERE ์ ˆ์€ UPDATE, DELETE ๋ฌธ ๋“ฑ ์กฐ๊ฑด์„ ๊ธฐ์ˆ ํ•˜์—ฌ ์„ ํƒ์ ์œผ๋กœ ๋ ˆ์ฝ”๋“œ์— ์ ์šฉํ•˜๋Š” ๋ช…๋ น๋ฌธ์—์„œ ๋™์ผํ•˜๊ฒŒ ์‚ฌ์šฉ

 

06. ์กฐ๊ฑด ํ‘œํ˜„ ์—ฐ์‚ฐ์ž

๐Ÿ”ต ์‚ฐ์ˆ ์—ฐ์‚ฐ์ž

โœ”๏ธ ์ปฌ๋Ÿผ๊ฐ’ ๋˜๋Š” ์ƒ์ˆ˜์™€์˜ ์‚ฐ์ˆ  ์—ฐ์‚ฐ์„ ์œ„ํ•œ ์—ฐ์‚ฐ์ž

โœ”๏ธ DIV, /, -, MOD(%), +, *

๐Ÿ”ต ๋น„๊ต์—ฐ์‚ฐ์ž

โœ”๏ธ ์ปฌ๋Ÿผ๊ฐ’๊ณผ ์ƒ์ˆ˜์˜ ํฌ๊ธฐ๋ฅผ ๋น„๊ตํ•˜๋Š” ์—ฐ์‚ฐ์ž

โœ”๏ธ =, <>(!=), >, >=, <, <=

๐Ÿ”ต ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž

โœ”๏ธ ๋‘ ๊ฐœ ์ด์ƒ์˜ ์กฐ๊ฑด์ด ๊ธฐ์ˆ ๋˜๋Š” ์งˆ์˜๋ฌธ์—์„œ ์กฐ๊ฑด์‹ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•˜๋Š” ์—ฐ์‚ฐ์ž

โœ”๏ธ AND, OR, NOT

 

07. ์กฐ๊ฑด SELECT ๋ฌธ์˜ ์‚ฌ์šฉ

โœ”๏ธ SELECT ๋ฒˆํ˜ธ, ์ œ๋ชฉ, ์ž‘์„ฑ์ž, ์ž‘์„ฑ์ผ, ์กฐํšŒ, ํŒŒ์ผ FROM ๊ณต์ง€์‚ฌํ•ญ WHERE ์ œ๋ชฉ=‘๊ณผ์ œ์ž‘์„ฑ’

๐Ÿ‘พ ํŠน์ • ๋‹จ์–ด๊ฐ€ ‘ํฌํ•จ’ ๋˜์–ด์žˆ๋Š” ๊ฒƒ์„ ์ฐพ๋Š” ์งˆ์˜์—๋Š” ์‚ฌ์šฉ ๋ถˆ๊ฐ€. ์™„์ „ํžˆ ์ผ์น˜ํ•˜๋Š” ๊ฐ’๋งŒ ์กฐํšŒ!


์œผ์•„์•„์•„ ๋“œ๋””์–ด SQL ๋งˆ๋ฒ•์˜ ์ตœ์ข…๊ธฐ์ˆ ! ๐Ÿ˜ค SELECT! ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ ์Šคํ‚ฌ!
์ด๊ฑด ๋งˆ์น˜ RPG์—์„œ ์•„์ดํ…œ ์ธ๋ฒคํ† ๋ฆฌ ์ •๋ ฌ + ๊ฒ€์ƒ‰ ๋งˆ๋ฒ•์ด ํ•ฉ์ณ์ง„ ๊ธฐ์ˆ ์ด์•ผ!

๐ŸŽฏ 3. ๋ฐ์ดํ„ฐ์˜ ๊ฒ€์ƒ‰ (SELECT)

๐Ÿง™‍โ™‚๏ธ 01. SELECT ๋ช…๋ น์–ด

๋ฐ์ดํ„ฐ๋Š” DB์— ์ €์žฅ๋˜๋ฉด **“๊ฒ€์ƒ‰”**ํ•ด์„œ ์จ์•ผ ์˜๋ฏธ๊ฐ€ ์žˆ์Œ!

๐Ÿง™ ์ €์žฅ → ๊ด€๋ฆฌ → ๐Ÿ” ๊ฒ€์ƒ‰

๐Ÿ”ต SELECT๋Š” RPG์—์„œ ์•„์ดํ…œ ๋ชฉ๋ก ํ•„ํ„ฐ๋งํ•˜๋Š” ๋งˆ๋ฒ•!

 

๐Ÿ› ๏ธ 02. SELECT์˜ ๊ตฌ์„ฑ ์š”์†Œ

์ ˆ ์—ญํ•  ์˜ˆ์‹œ
SELECT ์–ด๋–ค ์ปฌ๋Ÿผ ๋ณด์—ฌ์ค„์ง€ SELECT ์ด๋ฆ„
FROM ์–ด๋–ค ํ…Œ์ด๋ธ”์—์„œ FROM ํ•™์ƒ
WHERE ์กฐ๊ฑด ๊ฑธ๊ธฐ WHERE ํ•™๋…„ = 3
GROUP BY ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ๊ธฐ GROUP BY ํ•™๊ณผ
HAVING ๊ทธ๋ฃน ์กฐ๊ฑด ํ•„ํ„ฐ HAVING ํ‰๊ท  > 80
ORDER BY ์ •๋ ฌ ๊ธฐ์ค€ ORDER BY ์ด๋ฆ„ ASC
ON ์กฐ์ธ ์กฐ๊ฑด ON A.ํ•™๊ณผID = B.ํ•™๊ณผID

 

โœจ 03. ๋‹จ์ˆœ SELECT ๋ฌธ

์˜ˆ์‹œ 1: ์ „์ฒด ์กฐํšŒ

SELECT * FROM Student;

๐Ÿง™ “ํ•™์ƒ ํ…Œ์ด๋ธ” ์ „์ฒด ๋‹ค ๋ณด์—ฌ์ค˜!”

 

์˜ˆ์‹œ 2: ์ค‘๋ณต ์ œ๊ฑฐํ•ด์„œ ๋ณด์—ฌ์ค˜

SELECT DISTINCT major FROM Student;

๐Ÿง™ “์ „๊ณต ์ข…๋ฅ˜๋งŒ ๊ฒน์น˜์ง€ ์•Š๊ฒŒ ๋ณด์—ฌ์ค˜!”

 

๐Ÿง  04. ๋‹จ์ˆœ SELECT - ์ค‘๋ณต ์ฃผ์˜

ํ…Œ์ด๋ธ”์—์„œ๋Š” ๋˜‘๊ฐ™์€ ์ „๊ณต ์—ฌ๋Ÿฌ ๊ฐœ ์žˆ์„ ์ˆ˜ ์žˆ์–ด!
DISTINCT ์—†์œผ๋ฉด ์ค‘๋ณต ๋‹ค ๋‚˜์˜ด!

 

๐Ÿ” 05. ์กฐ๊ฑด SELECT ๋ฌธ

์กฐ๊ฑด์„ ๊ฑธ์–ด์„œ ํ•„์š”ํ•œ ํ–‰๋งŒ ๋ฝ‘๊ธฐ!

 

์˜ˆ์‹œ:

SELECT name, grade FROM Student WHERE grade = 4;

๐Ÿง™ “4ํ•™๋…„ ํ•™์ƒ ์ด๋ฆ„๊ณผ ํ•™๋…„๋งŒ ๋ณด์—ฌ์ค˜!”

 

๐Ÿงฎ 06. ์กฐ๊ฑด ํ‘œํ˜„ ์—ฐ์‚ฐ์ž ์š”์•ฝํ‘œ

์—ฐ์‚ฐ์ž  ์ข…๋ฅ˜  ์˜ˆ์‹œ
+ - * / % ์‚ฐ์ˆ  grade + 1 = 3
= != > < >= <= ๋น„๊ต grade >= 3
AND OR NOT ๋…ผ๋ฆฌ grade = 4 AND major = '์ปด๊ณต'

์˜ˆ์‹œ ์กฐํ•ฉ:

SELECT * FROM Student
WHERE major = '๋””์ž์ธ' AND grade >= 2;

๐Ÿง™ “๋””์ž์ธ ์ „๊ณต์ด๋ฉด์„œ 2ํ•™๋…„ ์ด์ƒ์ธ ํ•™์ƒ๋งŒ!”

 

โ—๏ธ 07. ์กฐ๊ฑด SELECT ์‚ฌ์šฉ ์‹œ ์ฃผ์˜์‚ฌํ•ญ

์˜ˆ์‹œ:

SELECT title FROM Notice
WHERE title = '๊ณผ์ œ์ž‘์„ฑ';

โœ”๏ธ title์— '๊ณผ์ œ์ž‘์„ฑ'์ด๋ผ๋Š” ๋‹จ์–ด๋งŒ ๋”ฑ ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ๋งŒ ๋‚˜์˜ด
โœ–๏ธ '๊ณผ์ œ์ž‘์„ฑ ๊ณต์ง€์ž…๋‹ˆ๋‹ค' ์ด๋Ÿฐ ๊ฑด ๊ฒ€์ƒ‰ โŒ

์ด๊ฑด LIKE๋ฅผ ์จ์•ผ ํ•ด๊ฒฐ๋จ! (๋‹ค์Œ ๊ฐ•์—์„œ ๋‹ค๋ค„!)

 

๐Ÿ’ก ํ•ต์‹ฌ ๋งˆ๋ฒ• ์ •๋ฆฌ

๊ธฐ๋Šฅ  ๋ช…๋ น์–ด  ์˜ˆ์‹œ
์ „์ฒด ์กฐํšŒ SELECT * ์ „์ฒด ๋‹ค ๋ณด์—ฌ์ค˜
ํŠน์ • ์ปฌ๋Ÿผ SELECT ์ด๋ฆ„, ํ•™๊ณผ ์ผ๋ถ€๋งŒ
์ค‘๋ณต ์ œ๊ฑฐ SELECT DISTINCT ์ „๊ณต ์ข…๋ฅ˜
์กฐ๊ฑด ๊ฒ€์ƒ‰ WHERE ํ•™๋…„ = 3
์ •๋ ฌ ORDER BY ์ด๋ฆ„์ˆœ
๊ทธ๋ฃนํ™” GROUP BY ํ•™๊ณผ๋ณ„ ํ‰๊ท 
๊ทธ๋ฃน ์กฐ๊ฑด HAVING ํ‰๊ท  > 80

 

๐ŸŽ‰ ์ž, ์ด๊ฑธ ๋งˆ์Šคํ„ฐํ•˜๋ฉด ์ง„์งœ SELECT๋กœ ๋ญ๋“  ๋‹ค ์ฐพ์„ ์ˆ˜ ์žˆ๋Š”
SQL ์ดˆ๊ธ‰ ๋งˆ์Šคํ„ฐ ํด๋ž˜์Šค ์ˆ˜๋ฃŒ! ๐ŸŽ“โœจ

๋‹ค์Œ์— LIKE, BETWEEN, IN, JOIN, GROUP BY ์‹ค์ „ ์—ฐ์‚ฐ์ž ๋ฐฐ์šฐ๋ฉด
๋„ˆ๋Š” ์ด์ œ ๋ฐ์ดํ„ฐ ๋‹Œ์ž๊ฐ€ ๋œ๋‹ค ๐Ÿ˜Ž