
WHERE ์ ์ SQL์์ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํ ๋ ์ฌ์ฉํ๋ ํต์ฌ ๋ฌธ๋ฒ
"์ด๋ค ํ(Row)์ ๊ฐ์ ธ์ฌ๊น?"๋ฅผ ๊ฒฐ์ ํ๋ ์ค์ํ ์ญํ
๋ค์ํ WHERE ์กฐ๊ฑด๋ฌธ ์ฐ์ฐ์์ ํจ๊ป
๋ฒ์, ์งํฉ, ํจํด, NULL ์กฐ๊ฑด, ๋ณตํฉ ์กฐ๊ฑด๊น์ง
SELECT ์ปฌ๋ผ๋ช
FROM ํ
์ด๋ธ๋ช
WHERE ์กฐ๊ฑด;
SELECT * FROM Book
WHERE price > 15000;
| ์ฐ์ฐ์ | ์๋ฏธ | ์์ ์๋ฌธ |
|---|---|---|
| = | ๊ฐ๋ค | publisher = '๊ตฟ์คํฌ์ธ ' |
| <> ๋๋ != | ๊ฐ์ง ์๋ค | price <> 20000 |
| > | ์ด๊ณผ | price > 15000 |
| < | ๋ฏธ๋ง | price < 10000 |
| >= | ์ด์ | price >= 12000 |
| <= | ์ดํ | price <= 18000 |
| BETWEEN A AND B | A ์ด์ 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 |
-- ๊ฐ๊ฒฉ์ด 10,000์ ์ด์ 20,000์ ์ดํ์ธ ๋์
SELECT * FROM Book
WHERE price BETWEEN 10000 AND 20000;
-- ํน์ ์ถํ์ฌ์ ๋์๋ง ์กฐํ
SELECT * FROM Book
WHERE publisher IN ('๊ตฟ์คํฌ์ธ ', '๋ํ๋ฏธ๋์ด');
-- ํด๋น ์ถํ์ฌ๊ฐ ์๋ ๋์ ์กฐํ
SELECT * FROM Book
WHERE publisher NOT IN ('๊ตฟ์คํฌ์ธ ', '๋ํ๋ฏธ๋์ด');
โข % : 0๊ฐ ์ด์์ ๋ฌธ์
โข _ : ์ ํํ 1๊ฐ์ ๋ฌธ์
-- ๋์๋ช
์ '์คํฌ์ธ '๊ฐ ํฌํจ๋ ๋์ ์กฐํ
SELECT * FROM Book
WHERE bookname LIKE '%์คํฌ์ธ %';
-- '์๋ฃ'๋ก ์์ํ๋ ๋์
SELECT * FROM Book
WHERE bookname LIKE '์๋ฃ%';
-- ํ ์ธ ์ ๋ณด๊ฐ ์๋ ๋์
SELECT * FROM Book
WHERE discount IS NULL;
-- ํ ์ธ ์ ๋ณด๊ฐ ์กด์ฌํ๋ ๋์
SELECT * FROM Book
WHERE discount IS NOT NULL;
-- ๊ฐ๊ฒฉ์ด 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๋ณด๋ค ๋จผ์ ์คํ๋จ (์คํ ์์ ๊ธฐ์ค)