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 |