사용자들은 WHERE절을 이용하여 자신이 원하는 자료만을 검색할 수 있다.
WHERE 절에는 두 개 이상의 테이블에 대한 조인 조건을 기술하거나 결과를 제한하기 위한 조건을 기술할 수도 있다.
SELECT [DISTINCT/ALL] column_name [ALIAS명]
FROM table_name
WHERE 조건식
WHERE절은 FROM절 다음에 위치한다.
WHERE절에 사용되는 연산자는 3가지 종류가 있다.
비교 연산자와 부정비교 연산자는 JAVA와 같은 프로그래밍 언어에서 사용되는 것과 동일하다.
같다를 비교하는 ' = ' 제외
연산자 | 연산자 의미 |
---|---|
BETWEEN a AND b | a와 b의 값 사이 (a와 b값 포함) |
IN(list) | 리스트에 있는 값 중에서 어느 하나라도 일치하면 된다. |
LIKE '비교문자열' | 비교문자열과 형태가 일치하면 된다.(%, _ 사용) |
IS NULL | NULL 값인 경우 |
NOT BETWEEN a AND b | a와 b의 값 사이에 있지 않다.(a,b값 포함 x) |
NOT IN(list) | list값과 일치하지 않음 |
IS NOT NULL | NULL값을 가지지 않음 |
연산자 | 연산자의 의미 |
---|---|
AND | 프로그래밍 언어의 '&&' 연산 |
OR | 프로그래밍 언어의 '||' 연산 |
NOT | 뒤에 오는 조건에 반대되는 결과를 돌려줌 |
- 괄호 ()
- NOT 연산자
- 비교 연산자, SQL 비교 연산자
- AND
- OR
// 이름의 두 번째 글자가 A인 사원의 이름과 입사일
SELECT ENAME 직원 이름, HIREDATE 입사일
FROM EMP
WHERE ENAME LIKE '__A%';
//팀ID가 K2, K7인 선수의 이름
SELECT PLAYER_NAME 선수명
FROM PLAYER
WHERE TEAM_ID IN('K2','K7');
//키가 170~180인 선수 이름
SELECT PLAYER_NAME 선수명
FROM PLAYER
WHERE HEIGHT BETWEEN 170 AND 180;
Oracle에서 SQL 처리 결과 집합의 각 행에 대해 임시로 부여되는 일련번호이며, 테이블이나집합에서 원하는 만큼만 행을 가져오고 싶을 대 WHERE절에서 행의 개수를 제한하는 목적으로 사용한다.
SELECT * PLAYER_NAME
FROM PLAYER
WHERE ROWNUM=1;