๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Oracle/sql

[๐Ÿ“š sql ๋ฌธ๋ฒ•์„ ๊ณต๋ถ€ํ•˜์ž ๐Ÿ“š] WHERE ์ด๋ž€?

by ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ณ  ์‹ถ์€ ๊ฐ์ž 2023. 4. 18.

SQL์„ ์ด์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋‹ค ๋ณด๋ฉด ์กฐ๊ฑด๋ฌธ์ด ํ•„์š”ํ• ๋•Œ๊ฐ€ ์žˆ๋‹ค.

๊ทธ๋ž˜์„œ SQL์—์„œ ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์กฐ๊ฑด๋ฌธ์ธ WHERE์ ˆ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž!

 

WHERE ์ ˆ์€ SQL์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ํ–‰์„ ์„ ํƒํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์ ˆ์ž…๋‹ˆ๋‹ค.

WHERE ์ ˆ์€ SELECT, UPDATE, DELETE ๋ฌธ์—์„œ ๋ชจ๋‘ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

 

SELECT ๋ฌธ์—์„œ WHERE ์ ˆ์€ ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ํ–‰๋งŒ์„ ์„ ํƒํ•˜๊ณ , ๋‚˜๋จธ์ง€ ํ–‰์€ ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ ์ฟผ๋ฆฌ๋Š” employees ํ…Œ์ด๋ธ”์—์„œ ๋ถ€์„œ๊ฐ€ 'Sales'์ด๊ณ  ์—ฐ๋ด‰์ด 50000 ์ด์ƒ์ธ ์ง์›์˜ ์ด๋ฆ„๊ณผ ์—ฐ๋ด‰์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

 

SELECT name, salary 
FROM employees 
WHERE department = 'Sales' AND salary >= 50000;

 

UPDATE ๋ฌธ์—์„œ WHERE ์ ˆ์€ ์—…๋ฐ์ดํŠธํ•  ํ–‰์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. WHERE ์ ˆ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๋ชจ๋“  ํ–‰์ด ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ ์ฟผ๋ฆฌ๋Š” employees ํ…Œ์ด๋ธ”์—์„œ ๋ถ€์„œ๊ฐ€ 'Marketing'์ธ ๋ชจ๋“  ์ง์›์˜ ์—ฐ๋ด‰์„ 10% ์ธ์ƒํ•ฉ๋‹ˆ๋‹ค.

 

UPDATE employees 
SET salary = salary * 1.1
WHERE department = 'Marketing';

 

DELETE ๋ฌธ์—์„œ WHERE ์ ˆ์€ ์‚ญ์ œํ•  ํ–‰์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. WHERE ์ ˆ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๋ชจ๋“  ํ–‰์ด ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ ์ฟผ๋ฆฌ๋Š” employees ํ…Œ์ด๋ธ”์—์„œ ์—ฐ๋ด‰์ด 30000 ๋ฏธ๋งŒ์ธ ๋ชจ๋“  ์ง์›์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

 

DELETE FROM employees 
WHERE salary < 30000;

 

WHERE ์ ˆ์€ ๋‹ค์–‘ํ•œ ๋น„๊ต ์—ฐ์‚ฐ์ž์™€ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ๊ฑด์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ์„ ์„ ํƒํ•˜๊ฑฐ๋‚˜, ์—…๋ฐ์ดํŠธ ๋ฐ ์‚ญ์ œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์˜ค๋Š˜์€ ์ด๋ ‡๊ฒŒ WHERE ์กฐ๊ฑด๋ฌธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค! 

๋‹ค์Œ Sql ๋ฌธ๋ฒ• ๊ณต๋ถ€๋„ ์—ด์‹ฌํžˆ ํ•ด๋ด์š”! ๐Ÿง๐Ÿง