728x90
반응형
emp 테이블에서 부서 번호 10,20 인 사원번호, 이름, 급여 , 부서번호
합집합
select empno, ename, deptno from emp where deptno = 10
UNION
select empno, ename, deptno from emp where deptno = 20;
select empno, ename, sal, deptno from emp
union
select empno, ename, sal, deptno from emp where deptno =20;
차집합
select empno, ename, sal, deptno from emp
MINUS
select empno, ename, sal, deptno from emp where deptno =20;
교집합
select empno, ename, sal, deptno from emp
INTERSECT
select empno, ename, sal, deptno from emp where deptno =20;
부서 번호가 10이거나 20인 사원의 정보 출력
SELECT *
from emp
where deptno =10 or deptno =20;
select *
from emp
where deptno in(10,20);
사원 이름이 s로 끝나는 사원의 모든 데이터 출력
select *
from emp
where ename LIKE '%S';
30번 부서에서 근무하는 사원 중 직업이 job SALESMAN 인
사원의 번호, 이름, 직책, 급여, 부서번호 출력
select empno, ename, job, sal, deptno
from emp
where deptno = 30 and job = 'SALESMAN';
30번 부서에서 근무하는 사원 중 직업이 job SALESMAN 인
사원의 번호, 이름, 직책, 급여, 부서번호 급여가 많은 순으로 출력
select empno, ename, job, sal, deptno
from emp
where deptno = 30 and job = 'SALESMAN'
order by sal desc;
20번 , 30번 부서에 근무하는 사원 중
급여가 2000초과한 사원의 사원번호, 이름,급여, 부서번호 출력
집합연산자 사용
-- USE UNION
select empno, ename, sal, deptno
from emp
where deptno =20 and sal > 2000
union
select empno, ename, sal, deptno
from emp
where deptno =30 and sal > 2000;
--DONT USE
select empno, ename, sal, deptno
from emp
where deptno in (20,30) and sal > 2000;
급여가 2000 이상 3000 이하 범위인 사원의 정보 출력
select *
from emp
where sal >= 2000 and sal <=3000;
-- USE Between A and B
select *
from emp
where sal BETWEEN 2000 and 3000;
급여가 2000 이상 3000 이하 범위 이외의 사원의 정보 출력
-- 01
select *
from emp
where sal < 2000 or sal >3000;
-- 02
select *
from emp
where sal NOT BETWEEN 2000 and 3000;
컬럼 이름 작성하는 방법
사원이름, 사원번호, 급여, 부서번호 출력
select ename as "사원이름", empno 사원번호, sal as 급여, deptno "부서 번호"
from emp;
select ename 사원이름, empno 사원번호, sal 급여, deptno 부서_번호
from emp;
사원이름에 E 가 포함되어 있는 30번 부서의 사원 중
급여가 1000~2000 사이가 아닌 사원이름, 사원 번호, 급여, 부서 번호 (한글 컬럼이름으로 출력)
--01
select ename 사원이름 , empno "사원 번호", sal 급여, deptno "부서 번호"
from emp
where ename like '%E%'
and deptno =30
and sal not BETWEEN 1000 and 2000;
--02
select ename 사원이름 , empno "사원 번호", sal 급여, deptno "부서 번호"
from emp
where ename like '%E%'
and deptno =30
and (sal <1000 or sal > 2000);
주가수당(comm) 이 존재하지 않는 사람의 정보 출력
select *
from emp
where comm is null;
주가수당(comm) 이 존재하는 사람의 정보 출력
select *
from emp
where comm is not null;
주가수당(comm) 이 존재하고 주가수당(comm)이 0이 아닌 사람의 정보 출력
select *
from emp
where comm is not null and comm <> 0;
주가수당이 존재하지 않고 상급자(mgr)가 있고 직급이 MANAGER, CLERK 인
사원 중에서 사원이름의 두번째 글자가 L이 아닌 사원정보 출력
select *
from emp
where comm is null
and mgr is not null
and job in ('MANAGER','CLERK')
and ename not like '_L%';
728x90
반응형
'PROGRAMING📚 > SQL DB📑' 카테고리의 다른 글
SQL 기초 (1) - 테이블 출력 하기 (0) | 2024.06.06 |
---|---|
SQL Developer - HR 계정 생성하기 (1) | 2024.06.05 |
Sql Developer - SCOTT 계정 생성/스크립트 테이블 만들 (0) | 2024.06.05 |
[SQL] 데이터베이스(DBMS) - Oracle /SQL Developer 설치 및 연결 (0) | 2024.06.05 |
Sql Developer - 관리자 계정 접속 오류 해결하기 (0) | 2024.05.31 |
댓글