Database/SQL ๊ธฐ์ดˆ

SQL ๊ธฐ์ดˆ - BETWEEN, LIKE, IN

UNarD 2026. 3. 21. 10:41

๐Ÿ” SQL ์กฐ๊ฑด ์—ฐ์‚ฐ์ž โ€” BETWEEN, LIKE, IN

WHERE ์ ˆ์„ ์“ฐ๋‹ค ๋ณด๋ฉด ๋น„๊ต ์—ฐ์‚ฐ์ž๋งŒ์œผ๋กœ๋Š” ํ‘œํ˜„ํ•˜๊ธฐ ์–ด๋ ค์šด ์กฐ๊ฑด์ด ์ƒ๊น๋‹ˆ๋‹ค.
๋ฒ”์œ„, ํŒจํ„ด, ๋ชฉ๋ก โ€” ์ด๋Ÿฐ ์กฐ๊ฑด๋“ค์„ ๋” ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์“ฐ๋Š” WHERE ์ ˆ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์กฐ๊ฑด ์—ฐ์‚ฐ์ž๋ฅผ ์ •๋ฆฌํ•ด ๋ดค์Šต๋‹ˆ๋‹ค ๐Ÿ˜Š

๐Ÿ—’๏ธ ์˜ˆ์‹œ ํ…Œ์ด๋ธ” โ€” students

id name grade score teacher_id
1 ๊น€์ฒ ์ˆ˜ 1 85 1
2 ์ด์˜ํฌ 2 NULL 1
3 ๋ฐ•๋ฏผ์ค€ 1 90 2
4 ์ตœ์ง€์› 3 72 NULL
5 ์ •์ˆ˜ํ˜„ 2 NULL 2
6 ํ•œ์ง€๋ฏผ 1 78 1
7 ์œค์„œ์ค€ 3 95 2
8 ๊ฐ•๋‹ค์€ 2 88 1
9 ์ž„ํ˜„์šฐ 3 NULL 2
10 ์˜ค์ง€์•„ 1 65 NULL
CREATE DATABASE IF NOT EXISTS practice;
USE practice;

DROP TABLE IF EXISTS students;

CREATE TABLE students (
    id         INT,
    name       VARCHAR(10),
    grade      INT,
    score      INT,
    teacher_id INT
);

INSERT INTO students VALUES (1,  '๊น€์ฒ ์ˆ˜', 1, 85,   1);
INSERT INTO students VALUES (2,  '์ด์˜ํฌ', 2, NULL,  1);
INSERT INTO students VALUES (3,  '๋ฐ•๋ฏผ์ค€', 1, 90,   2);
INSERT INTO students VALUES (4,  '์ตœ์ง€์›', 3, 72,   NULL);
INSERT INTO students VALUES (5,  '์ •์ˆ˜ํ˜„', 2, NULL,  2);
INSERT INTO students VALUES (6,  'ํ•œ์ง€๋ฏผ', 1, 78,   1);
INSERT INTO students VALUES (7,  '์œค์„œ์ค€', 3, 95,   2);
INSERT INTO students VALUES (8,  '๊ฐ•๋‹ค์€', 2, 88,   1);
INSERT INTO students VALUES (9,  '์ž„ํ˜„์šฐ', 3, NULL,  2);
INSERT INTO students VALUES (10, '์˜ค์ง€์•„', 1, 65,   NULL);

โ€ผ๏ธ ์ด ํ…Œ์ด๋ธ”์„ ๊ธฐ์ค€์œผ๋กœ ์•„๋ž˜ ๋ฌธ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.


โš–๏ธ BETWEEN

๊ฐ’์ด ํŠน์ • ๋ฒ”์œ„ ์•ˆ์— ์žˆ๋Š” ํ–‰์„ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.
์ˆซ์ž, ๋‚ ์งœ, ๋ฌธ์ž์—ด ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐ŸŽ€ ๊ธฐ๋ณธ ๋ฌธ๋ฒ•

์ปฌ๋Ÿผ BETWEEN ์ตœ์†Ÿ๊ฐ’ AND ์ตœ๋Œ“๊ฐ’

๐Ÿ”น ์ ์ˆ˜๊ฐ€ 70~90์ ์ธ ํ•™์ƒ ์กฐํšŒ

SELECT name, score
FROM students
WHERE score BETWEEN 70 AND 90;
๐Ÿ“ฅ ๊ฒฐ๊ณผ
name score
๊น€์ฒ ์ˆ˜ 85
์ตœ์ง€์› 72
ํ•œ์ง€๋ฏผ 78
๊ฐ•๋‹ค์€ 88

BETWEEN์€ ์–‘ ๋๊ฐ’์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. score >= 70 AND score <= 90๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”น ๋ฒ”์œ„ ๋ฐ–์˜ ํ–‰์„ ์กฐํšŒํ•˜๋ ค๋ฉด NOT BETWEEN์„ ์‚ฌ์šฉ

WHERE score NOT BETWEEN 70 AND 90
๐Ÿ“ฅ ๊ฒฐ๊ณผ
name score
๋ฐ•๋ฏผ์ค€ 90
์œค์„œ์ค€ 95
์˜ค์ง€์•„ 65

๐ŸŽญ LIKE

๋ฌธ์ž์—ด ํŒจํ„ด์ด ์ผ์น˜ํ•˜๋Š” ํ–‰์„ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.
์ด๋ฆ„์ด ์ •ํ™•ํžˆ ๊ธฐ์–ต๋‚˜์ง€ ์•Š๊ฑฐ๋‚˜, ํŠน์ • ๋ฌธ์ž๋กœ ์‹œ์ž‘/๋๋‚˜๋Š” ๊ฐ’์„ ์ฐพ์„ ๋•Œ ์”๋‹ˆ๋‹ค.

๐ŸŽ€ ๊ธฐ๋ณธ ๋ฌธ๋ฒ•

์ปฌ๋Ÿผ LIKE 'ํŒจํ„ด'
โ„น๏ธ ์™€์ผ๋“œ์นด๋“œ ์ข…๋ฅ˜
์™€์ผ๋“œ์นด๋“œ์˜๋ฏธ
%0๊ฐœ ์ด์ƒ์˜ ์ž„์˜ ๋ฌธ์ž
_์ •ํ™•ํžˆ 1๊ฐœ์˜ ์ž„์˜ ๋ฌธ์ž

๐Ÿ”น '๊น€'์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ด๋ฆ„

SELECT name FROM students WHERE name LIKE '๊น€%';
๐Ÿ“ฅ ๊ฒฐ๊ณผ
name
๊น€์ฒ ์ˆ˜

๐Ÿ”น 'ํฌ'๋กœ ๋๋‚˜๋Š” ์ด๋ฆ„

SELECT name FROM students WHERE name LIKE '%ํฌ';
๐Ÿ“ฅ ๊ฒฐ๊ณผ
name
์ด์˜ํฌ

๐Ÿ”น ์ด๋ฆ„์ด 3๊ธ€์ž์ด๊ณ  ๊ฐ€์šด๋ฐ๊ฐ€ '๋ฏผ'์ธ ๊ฒฝ์šฐ

SELECT name FROM students WHERE name LIKE '_๋ฏผ_';
๐Ÿ“ฅ ๊ฒฐ๊ณผ
name
๋ฐ•๋ฏผ์ค€

๐Ÿ”น ์ด๋ฆ„์— '์ˆ˜'๊ฐ€ ํฌํ•จ๋œ ๊ฒฝ์šฐ

SELECT name FROM students WHERE name LIKE '%์ˆ˜%';
๐Ÿ“ฅ ๊ฒฐ๊ณผ
name
๊น€์ฒ ์ˆ˜
์ •์ˆ˜ํ˜„

๐Ÿ”น ํŒจํ„ด์— ๋งž์ง€ ์•Š๋Š” ํ–‰์„ ์กฐํšŒํ•˜๋ ค๋ฉด NOT LIKE๋ฅผ ์‚ฌ์šฉ

SELECT name FROM students WHERE name NOT LIKE '๊น€%';
๐Ÿ“ฅ ๊ฒฐ๊ณผ
name
์ด์˜ํฌ
๋ฐ•๋ฏผ์ค€
์ตœ์ง€์›
์ •์ˆ˜ํ˜„
ํ•œ์ง€๋ฏผ
์œค์„œ์ค€
๊ฐ•๋‹ค์€
์ž„ํ˜„์šฐ
์˜ค์ง€์•„

๐Ÿ—‚๏ธ IN

๊ฐ’์ด ๋ชฉ๋ก ์•ˆ์— ์žˆ๋Š” ํ–‰์„ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.
์—ฌ๋Ÿฌ ๊ฐ’์„ OR๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ง€๋งŒ ํ›จ์”ฌ ๊ฐ„๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

๐ŸŽ€ ๊ธฐ๋ณธ ๋ฌธ๋ฒ•

์ปฌ๋Ÿผ IN (๊ฐ’1, ๊ฐ’2, ...)

๐Ÿ”น 1ํ•™๋…„ ๋˜๋Š” 3ํ•™๋…„ ํ•™์ƒ ์กฐํšŒ

SELECT name, grade
FROM students
WHERE grade IN (1, 3);
๐Ÿ“ฅ ๊ฒฐ๊ณผ
name grade
๊น€์ฒ ์ˆ˜ 1
๋ฐ•๋ฏผ์ค€ 1
์ตœ์ง€์› 3
ํ•œ์ง€๋ฏผ 1
์œค์„œ์ค€ 3
์ž„ํ˜„์šฐ 3
์˜ค์ง€์•„ 1

grade = 1 OR grade = 3๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”น ๋ชฉ๋ก์— ์—†๋Š” ํ–‰์„ ์กฐํšŒํ•˜๋ ค๋ฉด NOT IN์„ ์‚ฌ์šฉ

WHERE grade NOT IN (1, 3)
๐Ÿ“ฅ ๊ฒฐ๊ณผ
name grade
์ด์˜ํฌ 2
์ •์ˆ˜ํ˜„ 2
๊ฐ•๋‹ค์€ 2

โ˜• ๋งˆ๋ฌด๋ฆฌ

์—ฐ์‚ฐ์ž ์šฉ๋„ ์˜ˆ์‹œ
BETWEEN ๋ฒ”์œ„ ์กฐ๊ฑด score BETWEEN 70 AND 90
LIKE ํŒจํ„ด ์กฐ๊ฑด name LIKE '๊น€%'
IN ๋ชฉ๋ก ์กฐ๊ฑด grade IN (1, 3)

์„ธ ์—ฐ์‚ฐ์ž ๋ชจ๋‘ NOT์„ ๋ถ™์—ฌ ๋ฐ˜๋Œ€ ์กฐ๊ฑด์œผ๋กœ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
BETWEEN์€ ์–‘ ๋๊ฐ’ ํฌํ•จ, LIKE๋Š” %์™€ _ ์™€์ผ๋“œ์นด๋“œ,
IN์€ OR์˜ ์ถ•์•ฝํ˜•์ด๋ผ๊ณ  ๊ธฐ์–ตํ•ด๋‘๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ“š ์ฐธ๊ณ ์ž๋ฃŒ

'Database > SQL ๊ธฐ์ดˆ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

SQL ๊ธฐ์ดˆ - JOIN  (0) 2026.03.27
SQL ๊ธฐ์ดˆ - CASE  (0) 2026.03.23
SQL ๊ธฐ์ดˆ - WHERE  (0) 2026.03.20
SQL ๊ธฐ์ดˆ - ์ง‘๊ณ„ ํ•จ์ˆ˜(COUNT, AVG, SUM, MAX, MIN)  (0) 2026.03.20
SQL ๊ธฐ์ดˆ - GROUP BY - HAVING  (0) 2026.03.19