5-1. 필요한 데이터만 출력하는 WHERE절
SELECT문으로 데이터를 조회할 때 특정 조건을 기준으로 원하는 행을 출력할 때 사용



5-2. 여러 개 조건식을 사용하는 논리 연산자(AND, OR )

- 비교하는 데이터가 문자열일 경우에는 작은따옴표('')로 묶어 준다.
- 테이블 안에 들어있는 문자 또는 문자열 데이터는 대,소문자를 구별하기 때문에 반드시 내용에 맞게 작성한다.



5-3. 연산자 종류와 활용 방법
산술 연산자( +, -, *, /)

비교 연산자
대소 비교 연산자( >, >=, <, <=)


비교 대상인 데이터가 숫자가 아닌 문자열일 때도 사용 가능하다.


등가 비교 연산자(=, !=, <>, ^=)
연산자 양쪽 항목이 같은지 다른지 확인해주는 연산자

논리 부정 연산자(NOT)

IN 연산자
특정 열에 해당하는 조건을 여러 개 지정할 수 있다.



BETWEEN A AND B 연산자


LIKE 연산자와 와일드 카드
LIKE 연산자 : 검색 기능처럼 일부 문자열이 포함된 데이터를 조회할 때 사용
와일드 카드 : 특정 문자 또는 문자열을 대체하거나 문자열 데이터의 패턴을 표기하는 특수 문자
종류 | 의미 |
_ | 어떤 값이든 상관없는 "한 개"의 문자 데이터 |
% | 길이와 상관없이(문자 없는 경우도 포함) "모든" 문자 데이터 |



와일드 카드 문자가 데이터 일부일 경우
=> ESCAPE 문자 \ 사용
별칭 사용하여 열 이름 출력하기

IS NULL 연산자
NULL 의미 | 예 |
값이 존재하지 않음 | 통장을 개설한 적 없는 은행 고객의 계좌번호 |
해당 사항 없음 | 미혼인 고객의 결혼기념일 |
노출할 수 없는 값 | 특정 개인 정보 |
확정되지 않은 값 | 미성년자의 출신 대학 |


집합 연산자
종류 | 설명 |
UNION | 합집합, 결과 값의 중복 제거 |
UNION ALL | 합집합, 결과 값의 중복 제거 없이 모두 출력 |
MINUS | 차집합 |
INTERSECT | 교집합 |
주의할 점) SELECT문이 출력하려는 열 개수와 각 열의 자료형이 순서별로 일치해야 한다.
데이터 타입이 순사일 경우 에러가 발생하지 않아 나중에 오류가 발생할 수 있으니 반드시 주의가 필요하다.



기본 예제
Q1. EMP 테이블을 사용하여 사원의 이름이 S로 끝나는 사원 데이터를 모두 출력하는 SQL문을 작성해 보세요.

Q2. EMP 테이블을 사용하여 30번 부서에서 근무하고 있는 사원 중에 직책이 SALESMAN인 사원의 사원 번호, 이름 직책, 급여, 부서 번호를 출력하는 SQL문을 작성해 보세요.

Q3. EMP 테이블을 사용하여 20번, 30번 부서에 근무하고 있는 사원 중 급여가 2000 초과인 사원을 다음 두 가지방식의 SELECT 문을 사용하여 사원 번호, 이름, 급여, 부서 번호를 출력하는 SQL문을 작성해 보세요.
- 집합 연산자를 사용하지 않은 방식
- 집합 연산자를 사용한 방식


Q4. 이번에는 NOT BETWEEN A AND B 연산자를 쓰지 않고, 급여 값이 2000 이상 3000 이하 범위 이외의 값을 가진 데이터만 출력하도록 SQL 문을 작성해 보세요.

Q5. 사원 이름에 E가 포함되어 있는 30번 부서의 사원 중 급여가 1000 ~ 2000 사이가 아닌 사원 이름, 사원 번호, 급여, 부서 번호를 출력하는 SQL문을 작성해 보세요.

Q6. 추가 수당이 존재하지 않고 상급자가 있고 직책이 MANAGER, CLERK인 사원 중에서 사원 이름의 두 번째 글자가 L이 아닌 사원의 정보를 출력하는 SQL문을 작성해 보세요.

'Oracle' 카테고리의 다른 글
6-3. 날짜 데이터를 다루는 날짜 함수 (0) | 2022.11.16 |
---|---|
6-2. 숫자 함수 (0) | 2022.11.16 |
6-1. 문자 데이터를 가공하는 문자 함수 (0) | 2022.11.09 |
4. SELECT문의 기본 형식 (0) | 2022.11.07 |
1. 데이터베이스 (0) | 2022.11.03 |