sql 이란


ddl- data definition language

create, alter, drop, rename, turncate

dml- insert, update,delete

dql- select

tcl-commit,rollback,savepoint

dcl-grant,revoke


사원 테이블의 모든 레코드를 조회

select * from emp;

select empno, ename, job, mgr, hiredate, sal, comm, deptno from emp;


사원명과 입사일을 조회

select ename, hiredate from emp;


사원번호와 이름을 조회하시오

select deptno, ename from emp;


사원테이블에 있는 직책의 목록을 조회사이오.

select distinct job from emp;


distinct를 사용하는 이유(중복제거) job 컬럼에 대한 중복을 제거함


총 사원수를 구하시오

select count(empno) from emp;


empno를 설정하는 이유(ename의 경우 이름 동명이인존재, 직업도 중복 존재, 때문에 사원번호로

카운트를 세는 것이 정확함)


부서번호가 10인 사원을 조회하시오

select * from emp where deptno=10;


월급여가 2500이상 되는 사원을 조회하시오

select * from emp where sal >=2500;


where 뒤에서는 =,>,>=,<=,<비교 연산자를 사용한 예이다.


이름이 "KING"인 사원을 구하시오


select * from emp where ename='KING';


쿼리문은 대소문자를 가리지 않는다. 하지만 컬럼에 들어가는 데이터는 당연히 대소문자를 가린다.

KING라고 저장되어 있는데 king로 검색되지 않는다.


사원들 중 이름이 s로 시작하는 사원의 사원번호와 이름을 조회하시오

select empno, ename from emp where ename like 'S%';


like는 %와 _문자와 함께 검색할 때 사용된다.


커미션이 300, 500, 1400 인 사원의 사번, 이름, 커미션을 조회 하시오


select deptno, ename, comm from emp where comm =300 or comm=500 or comm=1400;


아니면


select deptno, ename, comm from emp where comm in(300,500,1400);


이렇게 comm뒤에 in으로 시작을 해도된다.


월급여가 1200에서 3500사이의 사원의 사번,이름, 월급여를 조회하시오


select empno, ename, sal from emp where sal between 1200 and 3500;


직급이 매니저이고 부서번호가 30번인 사원의 이름, 사번, 직급, 부서번호를 조회하시오


select ename, empno, job, deptno from emp where deptno = 30 and job='MANAGER';


select 로 조회시 해당 컬럼이 where에 존재를 하는것만 가능하다. deptno외 job이 select절의 앞에

존재를 하였기 때문에, 본 쿼리문이 조회가 가능한것으로 보면된다.


부서번호가 30이 아닌 사원의 사번, 이름, 부서번호를 조회하시오

select empno, ename, deptno from emp where not deptno = 30;


커미션이 300, 500, 1400이 모두 아닌 사원의 사번, 이름, 커미션을 조회하시오


select empno, ename, comm from emp where comm not in (300, 500, 1400) ;


이름에 s가 포함되지 않는 사원의 사번, 이름을 조회하시오


select empno, ename from emp where ename not like='%s%';


'23.12.24 삭제예정 > Oracle' 카테고리의 다른 글

chapter 2 오라클  (0) 2018.03.12
★★제약조건  (0) 2018.02.23

+ Recent posts