Post

SQL - SELECT 사용 방법 (2)

SQL - SELECT 사용 방법 (2)

WHERE 절

  • 특정 조건을 만족하는 데이터만 조회
    • 조건식을 통해 필터링

형식

1
2
3
SELECT column1, ...
FROM table_name
WHERE conditional

예시

1
2
3
4
5
SELECT
  name,
  email
FROM user_info
WHERE user_seq = 1;

여러 조건

  • 여러 조건식을 지정해야할 경우 논리 연산자를 사용
    • AND: 두 조건 모두 만족 시 true
    • OR: 두 조건 중 하나라도 만족 시 true
    • NOT: 조건 결과를 반대로 뒤집음
      • true -> false, false -> true

AND 예시

1
2
3
4
SELECT *
FROM user_info
WHERE email = 'test@example.com' 
AND name = '홍길동';

OR 예시

1
2
3
4
SELECT *
FROM user_info
WHERE name = '홍길동'
OR name = '테스트';

NOT 예시

1
2
3
SELECT *
FROM user_info
WHERE NOT (name = '홍길동');

!= 대신 <> 도 사용 가능

BETWEEN

  • 특정 범위 내 데이터 조회

형식

1
2
3
SELECT column_name, ...
FROM table_name
WHERE column_name BETWEEN min_value AND max_value

min_value, max_value 모두 포함한 범위 내에서 조회

예시

1
2
3
SELECT *
FROM user_info
WHERE created_at BETWEEN '2025-09-10' AND '2025-09-12';

NOT BETWEEN

  • 특정 범위를 제외한 데이터 조회

형식

1
2
3
SELECT column_name, ...
FROM table_name
WHERE column_name NOT BETWEEN min_value AND max_value

예시

1
2
3
SELECT *
FROM user_info
WHERE created_at NOT BETWEEN '2025-09-10' AND '2025-09-12';

IN

  • 괄호 안에 나열된 목록 중 하나라도 일치하는 데이터 조회

형식

1
2
3
SELECT column1, ...
FROM table_name
WHERE column1 IN (value1, value2, ...);

예시

1
2
3
SELECT *
FROM user_info
WHERE name IN ('홍길동', '테스트');

NOT IN

  • 괄호 안에 나열된 목록 중 일치하는게 없는 데이터만 조회

형식

1
2
3
SELECT column1, ...
FROM table_name
WHERE column1 NOT IN (value1, value2, ...);

예시

1
2
3
SELECT *
FROM user_info
WHERE name NOT IN ('홍길동', '테스트');

LIKE

  • 문자열 패턴 매칭
    • 와일드 카드를 통해 조건 설정

와일드 카드

  • %: 모든 문자를 의미
    • %str%: 위치에 상관 없이 str이 들어가 있으면 조회
    • %str: str로 끝나는 데이터 조회
    • str%: str로 시작하는 데이터 조회
  • _: 한 문자를 의미

형식

1
2
3
SELECT column1, ...
FROM table_name
WHERE column LIKE 'str';

예시

1
2
3
SELECT * 
FROM user_info
WHERE email LIKE '%.com';

NOT LIKE

  • 특정 문자열이 포함되지 않은 데이터만 조회

형식

1
2
3
SELECT column1, ...
FROM table_name
WHERE column NOT LIKE 'str';

예시

1
2
3
SELECT *
FROM user_info
WHERE email NOT LIKE '%test%';
This post is licensed under CC BY 4.0 by the author.