SQL - WHERE 절

박현·2022년 9월 29일
0

SQL

목록 보기
15/34

예제로 사용될 릴레이션은 아래와 같다.

  • EMP 릴레이션


WHERE 조건절 개요

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

SELECT [DISTINCT / ALL]
		컬럼명 [ALIAS명]
  FROM 테이블명
  WHERE 조건식;

WHERE 절은 FROM 절 다음에 위치하며, 조건식은 아래 내용으로 구성된다.

-컬럼명 (보통 조건식의 좌측에 위치)
-비교연산자
-문자, 숫자, 표현식(보통 조건식의 우측에 위치)
-비교 컬럼명(JOIN 사용 시)


연산자의 종류

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

비교 연산자 종류

연산자연산자의 의미
=같다.
>보다 크다.
>=보다 크거나 같다.
<보다 작다.
<=보다 작거나 같다.

사원번호가 7839이고 급여가 3000이상인 사람

위의 요구사항을 다음과 같이 비교연산자를 적용해 표현하면 아래와 같다.
입력✏️

SELECT *FROM EMP WHERE EMPNO='7839' AND SAL >= 3000;

출력🖥️


SQL 연산자 종류

연산자연산자의 의미
BETWEEN a AND ba와 b의 값 사이의 값을 갖는다.
IN (list)리스트에 있는 값 중에서 어느 하나라도 일치한다.
LIKE '비교문자열'비교문자열과 형태가 일치한다(%,_사용)
IS NULLNULL 값인 경우를 의미한다.

사원 직업이 매니저나 대통령이고 이름이 K로 시작하면서 급여가 4000에서 5000사이인 사람

위의 요구사항을 다음과 같이 SQL연산자를 적용해 표현하면 아래와 같다.

입력✏️

SELECT *FROM EMP WHERE JOB IN ('MANAGER', 'PRESIDENT') 
					AND ENAME LIKE 'K%' 
					AND SAL BETWEEN 4000 AND 5000;

출력🖥️


논리 연산자 종류

연산자연산자의 의미
AND앞의 조건과 뒤의 조건을 동시에 만족해야 하는 것
OR앞뒤의 조건 중 하나만 참이면 된다.
NOT뒤에 오는 조건에 반대되는 결과를 되돌려 준다.

부서번호가 30이 아닌 사원의 사원번호,사원이름,부서번호 출력

위의 요구사항을 다음과 같이 논리연산자를 적용해 표현하면 아래와 같다.
입력✏️

SELECT EMPNO, ENAME, DEPTNO FROM EMP WHERE NOT DEPTNO = 30; 

출력🖥️


부정 연산자의 종류

연산자연산자의 의미
!=같지 않다.
^=같지 않다.
<>같지 않다. (ANSI/ISO 표준)
NOT 컬럼명 =~와 같지 않다.
NOT 컬럼명 >~보다 크지 않다.
NOT BETWEEN a AND ba와 b의 값 사이에 있지 않다.
NOT IN (list)list 값과 일치하지 않다.
IS NOT NULLNULL 값을 갖지 않다.

직업이 사무원이 아니고 급여가 1000원 이상 3000원이하가 아닌 사원 출력

입력✏️

SELECT *FROM EMP WHERE JOB <> 'CLERK' AND NOT SAL BETWEEN 1000 AND 3000;

출력🖥️

0개의 댓글