728x90
반응형
WHERE절
- 테이블에 있는 데이터 중 원하는 조건에 맞는 데이터만 조회하고 싶은 경우 사용
- 엑셀의 필터 기능과 유사
- 여러 조건을 동시에 전달 가능
- AND, OR로 조건 연결
- NULL 조회 시 IS NULL / IS NOT NULL 연산자 사용
- = 연산자로 조회 불가
- 연산자를 사용하여 다양한 표현 가능
- 조건 전달 시 비교 대상의 데이터 타입이 일치하는 것이 좋음
- ex) 부서번호 컬럼의 데이터 타입은 숫자인데 문자 상수로 비교할 경우 성능 이슈가 발생할 수 있음
문법
IN 연산자
- 포함 연산자로 여러 상수와 일치하는 조건 전달 시 사용
- 상수를 괄호로 묶어서 동시에 전달 가능
- 문자와 날짜의 경우 반드시 홀따옴표와 함께 사용
- IN 연산자를 사용하면 조건 대상과 연산자의 반복을 줄일 수 있음
BETWEEN A AND B 연산자
- A 보다 크거나 같고 B 보다 작거나 같은 조건
- A와 B에는 범위로 묶을 상수 값 전달
- 문자, 숫자, 날짜 모두 전달 가능
- 반드시 A가 B보다 작아야 함
- A가 B보다 더 큰 값일 경우 아무것도 조회되지 않음
LIKE 연산자
- 정확하게 일치하지 않아도 되는 패턴 조건
- %와 _가 함께 사용됨
- %: 자리수 제한 없는 모든이라는 뜻
- _: _하나 당 한 자리수를 의미하며, 모든 값을 표현함
LIKE 연산자 사용 예시
- ENAME LIKE 'S%' : 이름이 S 로 시작하는
- ENAME LIKE '%S%' : 이름에 S 를 포함하는
- ENAME LIKE '%S' : 이름이 S 로 끝나는
- ENAME LIKE '_S%' : 이름의 두 번째 글자가 S 인(맨 앞이 _인것 주의! %이면 자리수 상관없이 S 를 포함하기만
하면 됨) - ENAME LIKE '__S__' : 이름의 가운데 글자가 S 이며 이름의 길이가 5 글자인
NOT 연산자
- 조건 결과의 여집합을 출력하는 연산자
- NOT 뒤에 오는 연산 결과의 여집합 출력
- 주로 NOT IN, NOT BETWEEN A AND B, NOT LIKE, NOT NULL과 같이 사용
반응형
'[DB]DataBase > [SQL]' 카테고리의 다른 글
[SQLD] ORDER BY절 (1) | 2024.04.27 |
---|---|
[SQLD] GROUP BY, HAVING절 (0) | 2024.04.27 |
[SQLD] 함수 (0) | 2024.04.23 |
[SQLD] SELECT 문 (0) | 2024.03.11 |
[SQLD] 관계형 데이터베이스 개요 (0) | 2024.03.10 |