• Feed
  • Explore
  • Ranking
/
/
    ๐Ÿ’พ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

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

    sql ๊ธฐ๋ณธ ๋ฌธ๋ฒ•์ธ where์ ˆ ์กฐ๊ฑด๋ฌธ์— ๋Œ€ํ•ด ์•Œ์•„๋ด…์‹œ๋‹ค!
    ์ก
    ์ก
    2025.04.07
    ยท
    8 min read

    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 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


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

    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๋ณด๋‹ค ๋จผ์ € ์‹คํ–‰๋จ (์‹คํ–‰ ์ˆœ์„œ ๊ธฐ์ค€)






    - ์ปฌ๋ ‰์…˜ ์•„ํ‹ฐํด