SQL_SQLD_WHERE 절

MR.HAN·2024년 1월 28일

SQL

목록 보기
8/10

WHERE 조건절

  • 특정 조건을 만족하는 데이터만 필터링
  • 두 개 이상의 테이블에 대한 조인 조건을 기술
  • 모든 데이터를 서버로 전달하여 서버에서 데이터를 선별하는 방식
  • FROM 절 다음에 위치
    - 컬럼명
    - 비교 연산자
    - 문자, 숫자, 표현식
    - 비교 컬럼명

연산자

  • 종류
    - 비교 연산자
    - SQL 연산자
    - 논리 연산자
  • 우선순위
    - 괄호 ()
    - NOT 연산자
    - 비교 연산자
    - AND
    - OR

비교 연산자

  • 문자열 비교 대상은 '' 넣어야 함.
  • '170'은 자동으로 숫자 타입으로 바꾸어 비교
  • CHAR 유형은 문자 끝 BLANK의 수만 다르다면 같은 값으로 비교
  • VARCHAR 유형은 BLANK도 문자로 취급

SQL 연산자

  • BETWEEN a AND b : a와 b 값이 포함
SELECT * FROM EMPLOYEES
WHERE SALARY BETWEEN 30000 AND 50000;
  • NOT BETWEEN a AND b : a, b 값 포함X

  • IN (list)

SELECT * FROM EMPLOYEES
WHERE (FIRST_NAME, LAST_NAME) IN ((FIRST_NAME1, LAST_NAME1), (FIRST_NAME2, LAST_NAME2));

SELECT * FROM EMPLOYEES
WHERE FIRST_NAME IN (FIRST_NAME1, FIRST_NAME2) AND
LAST_NAME IN (LAST_NAME1, LAST_NAME2);
  • LIKE
    - '%' : 0개 이상의 어떤 문자
    - '_' : 1개의 단일 문자
SELECT * FROM TITLES
WHERE TITLE LIKE '%Engineer';

SELECT * FROM TITLES
WHERE TITLE LIKE 'P___o';
  • ISNULL : = NULL은 NULL 값을 찾는 연산자가 아님.

  • 논리 연산자
    - WHERE 조건1 AND 조건2
    - WHERE 조건1 OR 조건2
    - NOT 조건

  • 부정 논리 연산자
    - !=
    - ^=
    - <>
    - NOT 컬럼명 = : ~와 같지 않다.
    - NOT 컬럼명 > : ~보다 크지 않다

  • 부정 SQL 연산자
    - NOT BETWEEN a AND b
    - NOT IN (list)
    - IS NOT NULL

0개의 댓글