-- 특정 데이터를 추출하는 where 절
-- select 컬럼명 from 테이블명 where 조건
-- 급여가 3000 이상인 사원의 리스트를 출력하자
select ename, job, sal
from emp
where sal >=3000
;
select ename, job, sal
from emp
where sal>4000
;
1)
2)
-- 10번 부서에 소속된 사원들의 리스트 출력
SELECT *
FROM emp
where deptno=10
;
-- 문자 데이터 조회 '' 안의 대문자 소문자 구분함
SELECT empno, ename, sal
FROM emp
where ename = 'FORD'
;
-- 날짜 데이터 조회
SELECT *
FROM emp
where hiredate='81/11/17'
;
-- AND 연산자
-- 10번 부서 소속인 사원들 중에서
-- 직급이 MANAGER인 사람을 검색하여 사원명, 부서번호, 직급을 출력
SELECT ename, deptno, job
FROM EMP
WHERE DEPTNO=10 AND JOB='MANAGER';
-- OR 연산자
-- 10번 부서에 소속된 사원이거나
-- 직급이 MANAGER인 사람을 검색하여 사원명, 부서번호, 직급을 출력합시다.
SELECT ename, deptno, job
FROM emp
where deptno=10 OR JOB='MANAGER';
-- NOT 연산자
-- 부서번호가 10번이 아닌 사원의 이름, 부서번호, 직급을 출력
SELECT ename, deptno, job
FROM emp
WHERE NOT deptno=10;
-- BETWEEN 연산자 (column_name BETWEEN A AND B)
-- 2000에서 3000 사이의 급여를 받는 사원
SELECT *
FROM EMP
WHERE SAL>=2000 AND SAL<=3000;
--1987년에 입사한 사원을 출력
SELECT *
FROM EMP
-- WHERE HIREDATE >= '1987/01/01' AND HIREDATE <= '1987/12/31';
WHERE HIREDATE BETWEEN '1987/01/01' AND '1987/12/31';
-- IN 연산자
-- 커미션이 300이거나 500 이거나 1400인 사원 검색
SELECT *
FROM emp
-- where comm=300 or comm=500 or comm=1400
where comm in(300,500,1400);
-- LIKE연산자 ( column_name LIKE pattern )
-- 와일드카드(%) 사용하기
-- F로 시작하는 사람 찾기
SELECT *
FROM emp
WHERE ename LIKE 'F%';
-- D로 끝나는 사람 찾기
SELECT *
FROM emp
WHERE ename LIKE '%D';
-- 이름중에 A가 들어간 사람 찾기
SELECT *
FROM emp
WHERE ename LIKE '%A%';
-- 와일드카드(_) 사용하기
-- _는 한문자에 대해서만 와일드카드 역할을 한다.
-- 이름의 두번째 글자가 A인 사람
SELECT *
FROM emp
WHERE ename LIKE '_A%';
-- 찾으려는 이름이 F로 시작 하는 것은 알지만 그 뒤의 문자는 모를 경우
select *
from emp
-- where ename like 'F%' --F로 시작하고 뒤는 어떤 문자가 와도 상관 없음
-- where ename like '%S' --F로 시작하고 뒤는 어떤 문자가 와도 상관 없음
-- where ename like '%A%' -- 이름에 A문자를 포함하는 이름을 검색
-- where ename like '_A%' -- 첫 번째 문자는 어떤 문자든 상관없고 두 번째 자리는 반드시 A가 오는 이름 검색
where ename like '__R%' -- 첫번째 세번째 문자는 아무거나 상관없고 세 번째 자리에 R이 오는 이름 검색.
-- 000000-1000000 > '_______1%' = 주민등록번호에서 남자찾기
-- '1987/12/18' > '_____12%' = 생일이 12월인 사람 찾기
-- NOT LIKE
-- 이름에 A가 들어가지 않는 사람 찾기
SELECT *
FROM emp
WHERE ename NOT LIKE '%A%';
-- 커미션을 받지 않는 사원 검색
SELECT *
from emp
where comm is null or comm=0
;
-- 커미션을 받는 사원 검색
SELECT *
from emp
where comm is not null and comm>0
;
'DB > Oracle SQL' 카테고리의 다른 글
[ORACLE SQL] 서브쿼리 (0) | 2020.11.11 |
---|---|
[ORACLE SQL] 조인 (0) | 2020.11.11 |
[ORACLE SQL] 그룹함수 (0) | 2020.11.10 |
[ORACLE SQL] 함수 / DECODE / CASE / TO_CHAR / TO_NUMBER (0) | 2020.11.10 |
[ORACLE SQL] 정렬을 위한 order by (0) | 2020.11.09 |
[ORACLE SQL] Select 절의 사칙연산 / distinct 중복생략 / as 정의 / null값 치환 nvl (0) | 2020.11.09 |
[ORACLE SQL] select * from; (0) | 2020.11.09 |