WHERE
2.1 기본 WHERE절
SELECT 칼럼명, 칼럼명1... 칼럼명n
FROM 테이블명
WHERE 칼럼이름 비교연산자 조건값;
EMP 테이블로 실습해보자!
SELECT * FROM emp;
2.2 오라클 기본 연산자
2.2.1 비교 연산자
연산자 | 설명 |
---|
= | 같다 |
> | 크다 |
< | 작다 |
>= | 크거나 같다 |
<= | 작거나 같다 |
<>, | !=, ^= 같지 않다 |
SELECT * FROM emp
1. WHERE deptno <> 30;
2. WHERE deptno != 30;
3. WHERE deptno ^= 30;
4. WHERE NOT deptno = 30;
1. EMP 테이블에서 deptno 가 20 이고 sal 이 2000 이상이거나 hiredate 가 82년 01월 01일 이전인 사원을 조회해 보자.
CODE
SELECT *
FROM emp
WHERE deptno = 20
AND (sal >= 2000 OR hiredate <= '82/01/01');
2.2.2 논리연산자
- 비교 연산자나 기타 WHERE 에 조건구문이 두 개 이상일 경우 논리연산자를 이용하여 조건을 논리적 으로 연결하여 조건에 맞는 값을 조회
연산자 | 설명 | |
---|
조건A AND 조건B | 두 가지 조건이 모두 만족되도록 결과 조회 | 교집합 |
조건A OR 조건B | 두 가지 조건 중 하나라도 만족되도록 결과 조회 | 합집합 |
NOT 조건A | 조건을 만족하지 않도록 결과 조회 | 여집합 |
2.3 WHERE 절에서 사용할 수 있는 기타 연산자
연산자 | 설명 |
---|
BETWEEN 조건 A AND 조건 B | a 와 b 사이의 데이터를 출력(a, b 포함) |
IN (값1...) | 테이블 데이터 값 중 어느 하나와 일치하는 데이터를 출력 |
LIKE | 문자 형태로 일치하는 데이터를 출력(%, _사용) |
IS NULL | NULL 값을 가진 데이터를 출력 |
NOT BETWEEN a AND b | a 와 b 사이에 있지 않은 데이터를 출력(a, b 포함하지 않음) |
NOT IN (값1...) | 테이블 데이터 값의 값과 일치하지 않는 데이터를 출력 |
NOT LIKE | 문자 형태와 일치하지 않는 데이터를 출력 |
IS NOT NULL | NULL 값을 갖지 않는 데이터를 출력 |
2. EMP 테이블에서 deptno 가 20,30인 사원들의 정보를 조회해 보자.
CODE
SELECT *
FROM emp
WHERE deptno
IN(20,30);
2.3.1 IN, NOT IN 연산자
3. empno가 7698 에서 7902 까지의 사원을 조회해 보자.
CODE
SELECT *
FROM emp
WHERE empno
BETWEEN 7698
AND 7902;
2.3.2 BETWEEN, NOT BETWEEN 연산자
4. 1980년이 아닌 해에 입사한 직원을 조회해 보자.
CODE
SELECT *
FROM emp
WHERE hiredate
NOT BETWEEN '1980/01/01'
AND '1980/12/31';
2.3.3 LIKE, NOT LIKE 연산자
5. EMP 테이블에서 이름에 K가 들어가는 사원의 ename 와 empno 을 조회해 보자.
CODE
SELECT ename, empno
FROM emp
WHERE ename
LIKE '%K%';
2.3.4 IS NULL, IS NOT NULL 연산자
6. EMP 테이블에서 이름에 K로 시작하는 사원의 ename 와 empno 을 조회해 보자.
CODE
SELECT ename, empno
FROM emp
WHERE ename
LIKE 'K%';
7. EMP 테이블에서 이름에 K 로 끝나는 사원의 ename 와 empno 을 조회해 보자.
CODE
SELECT ename, empno
FROM emp
WHERE ename
LIKE '%K';
8. EMP 테이블에서 이름에 두 번째 문자가 A인 사원의 ename 와 empno 을 조회해 보자.
CODE
SELECT ename, empno
FROM emp
WHERE ename
LIKE '_A%';
9. 이름에 'A'가 없는 직원 정보를 조회해 보자.
CODE
SELECT *
FROM emp
WHERE ename
NOT LIKE '%A%'
Reference
- 테이블 자료 : Oracle -
EMP 테이블
- 참고도서(책) : SQL활용 + 실습 후 정리
- 🎈2020.10.29
Author And Source
이 문제에 관하여([DQL] - SELECT_WHERE), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@withcolinsong/DQL-SELECTWHERE
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)