본문 바로가기

공부/데이터베이스

[오라클로 배우는 데이터베이스 입문] 05. 필요한 데이터만 출력하는 WHERE절

1. WHERE절: SELECT문으로 데이터를 조회할 때 특정 조건을 기준으로 원하는 행을 출력하고자 할 때 사용

SELECT [조회할 열1 이름], [열2 이름], ... , [열N 이름]
FROM [조회할 테이블 이름]
WHERE [조회할 행을 선별하기위한 조건식];
WHERE절은 조건식이어야 함.

1) 한 가지 조건으로 연산하기 

부서번호가 30인 데이터만 출력하기

2) 여러 개 조건식을 사용하는 AND, OR 연산자

※ AND, OR 조건식 개수는 제한 없음

AND 연산자와 OR 연산자 사용에 따른 결과

3) 연산자 종류와 활용 방법

- 산술 연산자

+ 더하기 - 빼기 * 곱하기 / 나누기

- 비교 연산자

> 크다 >= 크거나 같다 < 작다 <= 작거나 같다

 

- 등가 연산자

= 같을 경우 TRUE
다를 경우 FALSE
^= 다를 경우 TRUE
같은 경우 FALSE
!=
<>

실무에서는 !=와 &amp;amp;amp;amp;amp;lt;&amp;amp;amp;amp;amp;gt;를 많이 쓴다고 한다

- 논리 부정 연산자(NOT 연산자)
  복합한 조건식에서 정반대의 결과를 얻고자 할 때 NOT 연산자로 한번에 뒤집을 수 있음

IN, BETWEEN, IS NULL 연산자와 복합적으로 쓰임

-IN 연산자

SELECT [조회할 열1 이름], [열2 이름], ... , [열N 이름]
FROM [조회할 테이블 이름]
WHERE 열 이름 IN(데이터1, 2, 3, ... , N);
괄호 안에 조회할 데이터 목록 작성

1. IN연산자를 활용해서 목록에 있는 데이터 조회하기/ 2. NOT 연산자 활용해서 목록에 있는 데이터 빼고 조회하기

- BETWEEN A AND B 연산자

SELECT [조회할 열1 이름], [열2 이름], ... , [열N 이름]
FROM [조회할 테이블 이름]
WHERE 열 이름 BETWEEN 최솟값 AND 최댓값;
일정 범위 내의 데이터를 조회할 때 사용

1. BETWEEN 연산자를 활용해서 범위 내 데이터 조회하기/ 2. NOT 연산자 활용

- LIKE 연산자와 와일드 카드

LIKE연산자: 일부 문자열을 포함한 데이터 조회할 때
와일드카드 _ 어떤 값이든 상관없이 한 개의 문자 데이터를 의미
% 길이와 상관없이(문자 없는 경우도 포함) 모든 문자 데이터를의미

사용 예시

※ 데이터 일부에 와일드 카드 문자가 포함된 경우 - ESCAPE절을 사용하여 _, %를 데이터로 다룰 수 있음

- IS NULL 연산자
: 데이터는 TRUE값만 출력되므로 값이 NULL인 데이터는 수식 연산자로는 출력이 안되므로 IS NULL연산자를 이용해야 한다

NULL의 의미

의미
값이 존재하지 않음 통장을 개설한 적 없는 은행 고객의 계좌 번호
해당 사항 없음 미혼인 고객의 결혼기념일
노출할 수 없는 값 고객 비밀번호 찾기 같은 열람을 제한해야 하는 특정 개인 정보
확정되지 않은 값 미성년자의 출신 대학

- 집합 연산자 :  두 개 이상의 SELECT문의 결과 값을 연결할 때 사용

※ 연결할 SELECT문의 결과의 열 개수와 각 열의 자료형이 순서별로 일치해야 함

종류 설명
UNION 연결된 SELECT문의 결과 값을 합집합으로 묶고 결과 값의 중복은 제거
UNION ALL 연결된 SELECT문의 결과 값을 합집합으로 묶고 중복 값 제거 없이 모두 출력
MINUS 먼저 작성한 SELECT문의 결과 값 중 다음 SELCET문에 존재하지 않는 데이터만 출력
(차집합)
INTERSECT 먼저 작성한 SELECT문과 다음 SELECT문의 결과 값이 같은 데이터만 출력(교집합)

UNION 연산
UNION과 UNION ALL의 차이
MINUS와 INTERSECT

- 연산자 우선순위

우선순위 연산자 설명
△(높음) *, / 산술/곱하기, 나누기
  +, - 산술/더하기, 빼기
=, !=, ^=, <>,>=, <, <= 대소 비교 연산자
IS(NOT)NULL, (NOT)LIKE,(NOT)IN (그외) 비교 연산자
BETWEEN A AND B BETWEEN 연산자
NOT 논리 부정 연산자 NOT
AND 논리 연산자 AND
▽(낮음) OR 논리 연산자 OR