WHERE(조건절)

한준수·2023년 5월 30일
0

SQLD

목록 보기
18/31

WHERE절

사용자들은 WHERE절을 이용하여 자신이 원하는 자료만을 검색할 수 있다.
WHERE 절에는 두 개 이상의 테이블에 대한 조인 조건을 기술하거나 결과를 제한하기 위한 조건을 기술할 수도 있다.

  • 형식
SELECT [DISTINCT/ALL] column_name [ALIAS명]
FROM table_name
WHERE 조건식

WHERE절은 FROM절 다음에 위치한다.


연산자의 종류

WHERE절에 사용되는 연산자는 3가지 종류가 있다.

  • 비교 연산자( 부정 비교 연산자 포함 )
  • SQL 연산자( 부정 SQL 연산자 포함 )
  • 논리 연산자

    비교 연산자와 부정비교 연산자는 JAVA와 같은 프로그래밍 언어에서 사용되는 것과 동일하다.

    같다를 비교하는 ' = ' 제외

SQL 연산자

연산자 연산자 의미
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 뒤에 오는 조건에 반대되는 결과를 돌려줌

연산자 우선순위

  1. 괄호 ()
  2. NOT 연산자
  3. 비교 연산자, SQL 비교 연산자
  4. AND
  5. OR

WHERE문 사용 예제

// 이름의 두 번째 글자가 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;

ROWNUM

Oracle에서 SQL 처리 결과 집합의 각 행에 대해 임시로 부여되는 일련번호이며, 테이블이나집합에서 원하는 만큼만 행을 가져오고 싶을 대 WHERE절에서 행의 개수를 제한하는 목적으로 사용한다.

  • EX
    SELECT * PLAYER_NAME
    FROM PLAYER
    WHERE ROWNUM=1;
profile
응애에요

0개의 댓글