선택되는 행 제한
💡 WHERE 절은 FROM 절 다음에 나옴
문자열 및 날짜
💡 문자열 및 날짜 값은 작은 따옴표로 묶음
문자값은 대소문자 구분, 날짜값은 형식 구분
기본 날짜 표시 형식은 DD-MON-RR
비교연산자
연산자 | 의미 |
= | 같음 |
> | 보다 큼 |
>= | 보다 크거나 같음 |
< | 보다 작음 |
<= | 보다 작거나 같음 |
<> | 같지 않음 |
BETWEEN ... AND ... | 두 값 사이 (경계값 포함) |
IN (set) | 값 리스트 중 일치하는 값 검색 |
LIKE | 일치하는 문자 패턴 검색 |
IS NULL | NULL 값인 지 여부 |
BETWEEN 연산자를 사용하는 범위 조건
💡 BETWEEN 연산자를 사용하여 값의 범위를 기반으로 행 표시
IN 연산자를 사용하는 멤버 조건
💡 IN 연산자를 사용하여 리스트의 값 테스트
LIKE 연산자를 사용하여 패턴 일치
💡 LIKE 연산자를 사용하여 유효한 검색 문자열 값의 대체 문자 검색 수행
검색 조건에는 리터럴 문자나 숫자가 포함될 수 있음
- %는 0개 이상의 문자를 나타냄
- _는 한 문자를 나타냄
대체 문자 결합
💡 패턴 일치를 위해 두 대체 문자 (%, _)를 리터럴 문자와 결합 가능
ESCAPE 식별자를 사용하여 실제 % 및 _ 기호 탐색 가능
NULL 조건 사용
💡 IS NULL 연산자로 null 테스트
논리연산자를 사용하여 조건 정의
연산자 | 의미 |
AND | 두 조건이 모두 참인 경우 TRUE 반환 |
OR | 구성 요소 중 하나가 참인 경우 TRUE 반환 |
NOT | 조건이 거짓인 경우 TRUE 반환 |
AND 진리표
AND | TRUE | FALSE | NULL |
TRUE | TRUE | FALSE | NULL |
FALSE | FALSE | FALSE | FALSE |
NULL | NULL | FALSE | NULL |
OR 연산자 사용
💡 OR 연산자에서는 두 구성 요소 조건 중 하나가 참이어야 함
NOT 진리표
NOT | TRUE | FALSE | NULL |
FALSE | TRUE | NULL |
우선 순위 규칙
연산자 | 의미 |
1 | 산술 연산자 |
2 | 연결 연산자 |
3 | 비교 조건 |
4 | IS [NOT] NULL, LIKE, [NOT] IN |
5 | [NOT] BETWEEN |
6 | 같지 않음 |
7 | NOT 논리 조건 |
8 | AND 논리 조건 |
9 | OR 논리 조건 |
💡 괄호를 사용하여 우선 순위 규칙 재정의 가능
ORDER BY 절
💡 ORDER BY 절을 사용하여 검색된 행 정렬
- ASC : 오름차순, 기본값
- DESC : 내림차순
ORDER BY 절은 SELECT 문의 맨 마지막에 옴
정렬
내림차순으로 정렬
열 alias를 기준으로 정렬
열의 숫자 위치를 사용하여 정렬
여러 열을 기준으로 정렬
치환 변수
💡 치환 변수를 사용하여 다음을 수행할 수 있음
- 단일 앰퍼샌드 (&) 및 이중 앰퍼샌드 (&&) 치환을 사용하여 값 임시로 저장
치환 변수를 사용하여 다음을 보완할 수 있음
- WHERE 조건
- ORDER BY 절
- 열 표현식
- 테이블 이름
- 전체 SELECT 문
단일 앰퍼샌드 치환 변수 사용
💡 변수 앞에 앰퍼샌드 (&)를 붙여 사용자에게 값 요청
표기법 설명
표기법 | 설명 |
&USER_VARIABLE | SQL문의 변수 표시 |
변수가 존재하지 않을 경우 유저에게 값을 입력하도록 요청 (새 변수는 사용 후 폐기됨) |
문자 및 날짜 값을 치환 변수로 지정
💡 날짜 값 및 문자 값에 대해 작은 따옴표 사용
열 이름, 표현식 및 텍스트 지정
💡 SQL문의 WHERE절에 사용할 수 있을 뿐만 아니라 열 이름, 표현식 또는 텍스트를 치환하는 데 사용 가능
이중 앰퍼샌드 치환 변수 사용
💡 유저가 매번 값을 입력할 필요 없이 변수 값을 재사용하려는 경우 이중 앰퍼샌드 (&&) 사용
DEFINE 명령 사용
💡 DEFINE 명령을 사용하여 변수를 생성하고 값 할당 UNDEFINE 명령을 사용하여 변수 제거
VERIFY 명령 사용
💡 VERIFY 명령을 사용하여 치환 변수를 값으로 바꾸기 전 후에 치환 변수의 표시를 토글