๐Ÿ“ŒSQL ๋ฌธ๋ฒ• - WHERE ์ ˆ ์กฐ๊ฑด๋ฌธ

์กยท2025๋…„ 4์›” 7์ผ
0

๐Ÿ’พ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค

๋ชฉ๋ก ๋ณด๊ธฐ
4/12
post-thumbnail

WHERE ์ ˆ์€ SQL์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•„ํ„ฐ๋งํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ•ต์‹ฌ ๋ฌธ๋ฒ•
"์–ด๋–ค ํ–‰(Row)์„ ๊ฐ€์ ธ์˜ฌ๊นŒ?"๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์ค‘์š”ํ•œ ์—ญํ• 

๋‹ค์–‘ํ•œ WHERE ์กฐ๊ฑด๋ฌธ ์—ฐ์‚ฐ์ž์™€ ํ•จ๊ป˜
๋ฒ”์œ„, ์ง‘ํ•ฉ, ํŒจํ„ด, NULL ์กฐ๊ฑด, ๋ณตํ•ฉ ์กฐ๊ฑด๊นŒ์ง€

โœ… WHERE ์ ˆ ๊ธฐ๋ณธ ๊ตฌ์กฐ

SELECT ์ปฌ๋Ÿผ๋ช…
FROM ํ…Œ์ด๋ธ”๋ช…
WHERE ์กฐ๊ฑด;
  • ์˜ˆ์‹œ
SELECT * FROM Book
WHERE price > 15000;

โœ… WHERE ์กฐ๊ฑด ์—ฐ์‚ฐ์ž ์ •๋ฆฌํ‘œ

์—ฐ์‚ฐ์ž์˜๋ฏธ์˜ˆ์‹œ ์˜ˆ๋ฌธ
=๊ฐ™๋‹คpublisher = '๊ตฟ์Šคํฌ์ธ '
<> ๋˜๋Š” !=๊ฐ™์ง€ ์•Š๋‹คprice <> 20000
>์ดˆ๊ณผprice > 15000
<๋ฏธ๋งŒprice < 10000
>=์ด์ƒprice >= 12000
<=์ดํ•˜price <= 18000
BETWEEN A AND BA ์ด์ƒ B ์ดํ•˜ ๋ฒ”์œ„ ์กฐ๊ฑดprice BETWEEN 10000 AND 20000
IN (...)๋ชฉ๋ก์— ํฌํ•จ๋˜๋Š” ๊ฒฝ์šฐpublisher IN ('๊ตฟ์Šคํฌ์ธ ', '๋Œ€ํ•œ๋ฏธ๋””์–ด')
NOT IN (...)๋ชฉ๋ก์— ํฌํ•จ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐpublisher NOT IN ('๊ตฟ์Šคํฌ์ธ ', '๋Œ€ํ•œ๋ฏธ๋””์–ด')
LIKE๋ฌธ์ž์—ด ํŒจํ„ด ์ผ์น˜ (๋ถ€๋ถ„ ๊ฒ€์ƒ‰)bookname LIKE '%์Šคํฌ์ธ %'
IS NULL๊ฐ’์ด NULL์ธ ๊ฒฝ์šฐdiscount IS NULL
IS NOT NULL๊ฐ’์ด NULL์ด ์•„๋‹Œ ๊ฒฝ์šฐdiscount IS NOT NULL

๐Ÿงญ ๋ฒ”์œ„ ์—ฐ์‚ฐ์ž

  1. BETWEEN A AND B
-- ๊ฐ€๊ฒฉ์ด 10,000์› ์ด์ƒ 20,000์› ์ดํ•˜์ธ ๋„์„œ
SELECT * FROM Book
WHERE price BETWEEN 10000 AND 20000;
  1. IN (...) / NOT IN (...)
-- ํŠน์ • ์ถœํŒ์‚ฌ์˜ ๋„์„œ๋งŒ ์กฐํšŒ
SELECT * FROM Book
WHERE publisher IN ('๊ตฟ์Šคํฌ์ธ ', '๋Œ€ํ•œ๋ฏธ๋””์–ด');

-- ํ•ด๋‹น ์ถœํŒ์‚ฌ๊ฐ€ ์•„๋‹Œ ๋„์„œ ์กฐํšŒ
SELECT * FROM Book
WHERE publisher NOT IN ('๊ตฟ์Šคํฌ์ธ ', '๋Œ€ํ•œ๋ฏธ๋””์–ด');

๐Ÿ”ค ํŒจํ„ด ๋งค์นญ: LIKE

โ€ข	% : 0๊ฐœ ์ด์ƒ์˜ ๋ฌธ์ž
โ€ข	_ : ์ •ํ™•ํžˆ 1๊ฐœ์˜ ๋ฌธ์ž
-- ๋„์„œ๋ช…์— '์Šคํฌ์ธ '๊ฐ€ ํฌํ•จ๋œ ๋„์„œ ์กฐํšŒ
SELECT * FROM Book
WHERE bookname LIKE '%์Šคํฌ์ธ %';

-- '์ž๋ฃŒ'๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋„์„œ
SELECT * FROM Book
WHERE bookname LIKE '์ž๋ฃŒ%';

๐Ÿ”Ž NULL ์ฒดํฌ

-- ํ• ์ธ ์ •๋ณด๊ฐ€ ์—†๋Š” ๋„์„œ
SELECT * FROM Book
WHERE discount IS NULL;

-- ํ• ์ธ ์ •๋ณด๊ฐ€ ์กด์žฌํ•˜๋Š” ๋„์„œ
SELECT * FROM Book
WHERE discount IS NOT NULL;

โš™๏ธ ๋ณตํ•ฉ ์กฐ๊ฑด: AND, OR, NOT

-- ๊ฐ€๊ฒฉ์ด 15,000 ์ด์ƒ์ด๊ณ , ์ถœํŒ์‚ฌ๊ฐ€ '๊ตฟ์Šคํฌ์ธ '์ธ ๋„์„œ
SELECT * FROM Book
WHERE price >= 15000 AND publisher = '๊ตฟ์Šคํฌ์ธ ';

-- ๊ฐ€๊ฒฉ์ด 2๋งŒ์› ์ดํ•˜์ด๊ฑฐ๋‚˜, '์Šคํฌ์ธ '๊ฐ€ ์ œ๋ชฉ์— ํฌํ•จ๋œ ๋„์„œ
SELECT * FROM Book
WHERE price <= 20000 OR bookname LIKE '%์Šคํฌ์ธ %';

๐Ÿ’ก ์‹ค์ „ ์˜ˆ์ œ ๋ชจ์Œ

-- '๋Œ€ํ•œ๋ฏธ๋””์–ด' ์ถœํŒ์‚ฌ ๋„์„œ ์ค‘ 15000์› ์ดํ•˜
SELECT bookname, price
FROM Book
WHERE publisher = '๋Œ€ํ•œ๋ฏธ๋””์–ด' AND price <= 15000;

-- '์Šคํฌ์ธ '๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์€ ๋„์„œ
SELECT bookname
FROM Book
WHERE bookname NOT LIKE '%์Šคํฌ์ธ %';

-- ํ• ์ธ ์ •๋ณด๊ฐ€ ์—†๋Š” ๋„์„œ ์ค‘ ๊ฐ€๊ฒฉ์ด ๋†’์€ ์ˆœ ์ •๋ ฌ
SELECT bookname, price
FROM Book
WHERE discount IS NULL
ORDER BY price DESC;

โœจ ๋งˆ๋ฌด๋ฆฌ

๊ฐœ๋…์„ค๋ช…
WHERE ์ ˆ์กฐ๊ฑด์— ๋งž๋Š” ํ–‰(Row)์„ ํ•„ํ„ฐ๋งํ•˜๋Š” ์ ˆ
์‚ฌ์šฉ ์œ„์น˜SELECT, FROM ๋‹ค์Œ์— ์œ„์น˜
์ฃผ์š” ์—ฐ์‚ฐ์ž=, <>, >, <, >=, <=, BETWEEN, IN, LIKE ๋“ฑ
NULL ์กฐ๊ฑดIS NULL, IS NOT NULL์œผ๋กœ ํŒ๋‹จ
๋ณตํ•ฉ ์กฐ๊ฑดAND, OR, NOT์œผ๋กœ ์กฐ๊ฑด ์กฐํ•ฉ ๊ฐ€๋Šฅ
โ€ข	LIKE '%๋‹จ์–ด%' ๋Š” ๋ฌธ์ž์—ด ํฌํ•จ ์—ฌ๋ถ€ ํ™•์ธ์— ์œ ์šฉ
โ€ข	IN (...) ๊ณผ OR ์กฐ๊ฑด์€ ๊ธฐ๋Šฅ์ƒ ๋™์ผํ•˜์ง€๋งŒ ๊ฐ€๋…์„ฑ์€ IN์ด ๋” ์ข‹์Œ
โ€ข	WHERE ์ ˆ์€ GROUP BY๋‚˜ ORDER BY๋ณด๋‹ค ๋จผ์ € ์‹คํ–‰๋จ (์‹คํ–‰ ์ˆœ์„œ ๊ธฐ์ค€)
profile
์•ˆ๋…•ํ•˜์„ธ์š”! AI & ๋ฐ์ดํ„ฐ๋ถ„์„์„ ์ „๊ณตํ•˜๋Š” ๋Œ€ํ•™์›์ƒ(์„์‚ฌ ๊ณผ์ •)์ž…๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€