선택을 사용하여 행 제한
WHERE 절을 사용하여 query에서 반환되는 행을 제한할 수 있습니다. WHERE 절은 충족되어야 하는 조건을 포함하여 FROM절 바로 뒤에 나옵니다. 조건이 참인 경우 해당 조건을 충족하는 행이 반환됩니다.
WHERE 조건을 충족하는 행으로 query를 제한합니다.
condition 열 이름, 표현식 ,상수 및 비교 연산자로 구성됩니다. 조건은 하나 이상의 표현식과 논리(부울) 연산자의 조합을 지정하고 TRUE,FALSE 또는 UNKNOWN의 값을 반환합니다.
WHERE 절은 열의값 , 리터럴, 산술식 또는 함수를 비교할 수 있으며 다음 세 가지 요소로 구성됩니다.
- 열 이름
- 비교조건
- 열 이름 , 상수 또는 값 리스트
- WHERE 절에서는 열 alias를 사용할수 없습니다.
비교 연산자
연산자 | 의미 |
= | 같음 |
> | 보다큼 |
>= | 보다 크거나 같음 |
< | 보다 작음 |
<= | 보다 작거나 같음 |
<> | 같지 않음 |
BETWEEN ...AND... | 두 값 사이 (경계값 포함) |
IN(set) | 값 리스트 중 일치하는 값검색 |
LIKE | 일치하는 문자 패턴 검색 |
비교 연산자는 특정 표현식을 다른 값이나 표현식과 비교하는 조건에서 사용됩니다.
SELECT 문은 MEMBER테이블 에서 값이 3천보다 작거나 같은 값을 검색한다. WHERE절에 명시적 값이 제공되었습니다. 3000이라는 명시적 값이 MEMBER 테이블의 MEMBER_CHECK_MONEY열에 있는 급여 값과 비교합니다.
BETWEEN 연산자를 사용하는 범위 조건
BETWEEN 연산자를 사용하여 값의 범위를 기반으로 행을 표시합니다.
BETWEEN 연산자를 사용하여 값의 범위를 기반으로 행을 표시할 수 있습니다. 지정한 범위에는 상한 및 하한이 포함됩니다.
SELECT문은 MEMBER 테이블에서 2000~ 3000 사이인 행을 반환한다.BETWEEN 연산자로 지정되는 값은 범위에 포함된다. 그러나 먼저 하한을 지정해야한다.
문자 값에도 BETWEEN연산자를 사용할수 있다.
IN 연산자를 사용하는 멤버 조건
IN 연산자를 사용하여 리스트의 값을 테스트합니다.
IN 연산자를 사용하는 멤버 조건
지정된 값 집합에서 값을 테스트 하면 IN연산자를 사용한다 IN연산자를 사용하여 정의한 조건을 멤버 조건이다.
관리자의 사원 번호가 100,101,201 인 모든 사원에 대해 사원번호, 성, 급여 및 관리자의 사원 번호를 표시한다.
값의 집합은 임의의 순서로 지정할수 있다.
LIKE 연산자를 사용하여 패턴 일치
LIKE 연산자를 사용하여 유효한 검색 문자열 값의 대체 문자 검색을 수행합니다.
검색 조건에는 리터럴 문자나 숫자가 포함될 수 있습니다.
검색할 값을 항상 정확히 알 수 있는것은 아니다. LIKE연산자를 사용하여 문자 패턴이 일치하는 행을 선택할수 있다. 문자 패턴을 일치 시키는 작업을 대체 문자 검색이라고 한다, 두 가지 기호를 사용하여 검색 문자열을 구성할 수 있다.
기호 | 설명 |
% | 0개 이상의 임이의 문자 시퀀스를 나타낸다 |
- | 임이의 단일 문자를 나타낸다 |
위에 명령어는 이름이 "S"로 시작하는 사람의 이름을 반환한다. 만약 소문자로 "s"를 입력했다면 반환되지 않는다 LIKE 연산자는 일부 BETWEEN 비교의 단축형으로 사용될수 있다.
05년 1월 부터 05년 12월 사이에 입사한 모든 사원의 성과 채용 날짜를 표시한다
대체문자 결합
패턴 일치를 위해 두 대체 문자(%,_)를 리터럴 문자와 결합할 수 있다.
ESCAPE 식별자를 사용하여 % 및 _기호를 검색할 수 있다.
% 및 _ 기호는 임의 리터럴 문자 결합에서 사용할 수 있습니다. 슬라이드의 예제는 성의 두번째 문자가 "h"인 모든 사원의 이름을 표시한다.
ESCAPE식별자
실제 %및 _문자와 정확히 일치해야 하는 경우 ESCAPE 식별자를 사용한다 이 옵션은 이스케이프 문자를 지정한다. SA_를 포함한 문자열을 검색하려는 경우 다음 SQL문을 사용할수도 있다. 명령어에 보면 \(빽슬러시) 가 있는데 이는 ESCAPE 문자로 식별한다 그리고 ESCAPE문자가 밑줄(_)앞에 온다 이렇게 하면 Oracle서버가 밑줄 문자 그대로 해석하게 된다.
NULL조건 사용
NULL 연산자로 null를 테스트 한다
NULL 조건은 IS NULL조건과 IS NOT NULL 조건을 포함한다. IS NULL 조건은 null을 테스트한다. null값은 사용할수 없거나 할당되지 않았거나,알수 없거나, 적용할수 없는 값을 의미한다 따라서 null은 어떠한 결과값도 같거나 같지 않을수 없기 때문에 등호(=)를 사용하여 테스트 할수 없다
'DB' 카테고리의 다른 글
Oracle 우선순위규칙 (0) | 2020.11.13 |
---|---|
Oracle 논리 연산자를 사용하여 조건정의 (0) | 2020.11.13 |
Oracle 테이블 구조 표시 (0) | 2020.11.12 |
Oracle 연결 연산자 (0) | 2020.11.12 |
열 ailas 사용 (0) | 2020.11.12 |