이 영역을 누르면 첫 페이지로 이동
Puter의 잡동사니 블로그의 첫 페이지로 이동

Puter의 잡동사니

페이지 맨 위로 올라가기

Puter의 잡동사니

잡다한 것이 한데 뒤섞인 곳

SQL 02 조건문/조인/그룹함수

  • 2017.12.27 20:29
  • development
반응형
100을 30으로 나눴을 때 나머지를 구하시오.
1
select mod(100, 30) from dual;
cs

23000을 0으로 고정하여 표현.
1
2
select to_char(23000, ‘000,000,000’)
from dual;
cs

23000을 유동적으로 표현.
1
2
select to_char(23000, '999,999')
from dual;
cs

23000을 고정적으로 표현.
1
2
select to_char(23000, '000,000')
from dual;
cs

23000을 $를 붙이고 유동적으로 표현.
1
2
select to_char(23000, '$999,999')
from dual;
cs

comm값과 comm 널값을 0으로 변환 후 100 더한 값을 출력하시오.
1
2
select comm, nvl(comm, 0) +100 as new_comm
from emp;
Colored by Color Scripter
cs

<조건문 : DECODE>
analyst면  A로, clerk면 C로 manager면 M으로 그외는 O로 표현하시오.
1
2
3
4
5
6
select job,
       decode(job, 'ANALYST', 'A',
                   'CLERK',   'C',
                   'MANAGER', 'M',
                              'O') as "Naming"
from emp;
Colored by Color Scripter
cs

부서번호가 10이면 영업부, 20이면 개발부, 30이면 홍보부, 그 외는 미정으로 출력하시오.
1
2
3
4
5
6
select ename, deptno, 
       decode(deptno, 10, '영업부',
                      20, '개발부',
                      30, '홍보부',
                          '미정') as "부서"
from emp;
cs

<조건문 :  case when then>
부서번호가 10이면 영업부, 20이면 개발부, 30이면 홍보부, 그 외는 미정으로 출력하시오.
1
2
3
4
5
6
7
8
select ename, deptno,
       case 
           WHEN deptno=10 then '영업부',
           WHEN deptno=20 then '개발부',
           WHEN deptno=30 then '홍보부',
                  else '미정'
       end NEW 
from emp;
cs

<join>
사원번호/사원이름/부서번호/부서이름을 출력하시오.
1
2
3
select e.empno , e.ename, d.deptno, d.dname
from emp e, dept d
where e.deptno = d.deptno;
cs

<inner join>
사원번호/사원이름/부서번호/부서이름을 출력하시오.
1
2
3
select e.empno , e.ename, d.deptno, d.dname
from emp e inner join dept d
on e.deptno = d.deptno;
cs

<join>
부서번호가 10인 사원번호/사원이름/부서번호/부서이름을 출력하시오.
1
2
3
4
select e.empno, e.ename, d.deptno, d.dname
from emp e, dept d
where e.deptno = d.deptno
      and d.deptno=10;
cs

<inner join>
부서번호가 10인 사원번호/사원이름/부서번호/부서이름을 출력하시오.
1
2
3
4
select e.empno, e.ename, d.deptno, d.dname
from emp e inner join dept d
on e.deptno = d.deptno
where d.deptno=10;
cs

<outer join>
사원이름/부서번호/부서이름을 출력하시오
1
2
3
select e.ename, d.deptno, d.dname
from emp e, dept d
where e.deptno(+) = d.deptno;
cs

1
2
3
4
select e.ename, d.deptno, d.dname
from emp e right outer join dept d
     -- 더 큰걸 기준
     on e.deptno = d.deptno;
cs

<outer join을 명시 - from T1 outer join T2 on 조건>
사원번호/사원이름/부서번호/부서이름/보너스를 출력하시오.
1
2
3
4
5
6
select e.empno, e.ename, d.deptno, d.dname, b.bonus
from emp e 
    right outer join dept d 
        on e.deptno = d.deptno
    left outer join bonus b 
        on e.empno = b.empno;
cs

<(+)를 이용하여 outer join 표현>
1
2
3
4
5
6
select e.empno, e.ename, d.deptno, d.dname, b.bonus
from emp e, dept d, bonus b
where e.deptno(+) = d.deptno
      and e.empno = b.empno(+)
      -- 모자른 쪽에 (+)를 주자.
order by deptno;
Colored by Color Scripter
cs

bonus 테이블 변경
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
alter table bonus drop(ename);
alter table bonus drop(job);
alter table bonus drop(comm);
 
alter table bonus add(empno number(4));
 
alter table bonus rename column sal to bonus;
 
insert
into bonus(empno, bonus)
values(7369, 300);
 
insert
into bonus(empno, bonus)
values(7499, 100);
cs

모든 사원의 사원번호/사원이름/사수번호/사수이름을 출력하시오.
1
2
3
select e1.empno, e1.ename, e2.empno as mgrno, e2.ename as mgrname
from emp e1, emp e2
where e1.mgr = e2.empno(+);
Colored by Color Scripter
cs

1
2
3
select e1.empno, e1.ename, e2.empno as mgrno, e2.ename as mgrname
from emp e1 left outer join emp e2
     on e1.mgr = e2.empno;
Colored by Color Scripter
cs

JONES의 급여보다 많이 받는 사원이름/급여를 출력하시오.
1
2
3
4
5
select ename, sal
from emp
where sal > (select sal
             from emp
             where ename = 'JONES');
cs

직업이 PRESIDENT인 사원과 같은 부서에서 일하는 사원정보를 출력하시오.
1
2
3
4
5
select *
from emp
where deptno = (select deptno
                from emp
                where job ='PRESIDENT');
cs

부서번호가 JAMES와 같거나 급여가 JONES보다 많이 받는 사원을 출력하시오.
1
2
3
4
5
6
7
8
select *
from emp
where deptno = (select deptno
                from emp
                where ename = 'JAMES')
or sal > (select sal
          from emp
          where ename = 'JONES');
cs

그룹함수 사용
1
2
select min(sal), max(sal), avg(sal), sum(sal), count(sal)
from emp;
Colored by Color Scripter
cs

최소 급여를 받는 사원과 같은 부서에서 일하는 사원을 출력하시오.
1
2
3
4
5
6
select *
from emp
where deptno = (select deptno
                from emp
                where sal = (select min(sal) 
                             from emp));
cs

직업이 PRESIDENT이거나 SALESMAN인 사원과 같은 부서에서 일하는 사원을 출력하시오.
1
2
3
4
5
select *
from emp
where deptno in (select deptno
                 from emp 
                 where job in ('PRESIDENT', 'SALESMAN'));
cs
                 
JONES의 급여보다 많이 받는 사원이름/급여/부서명을 출력하시오.
1
2
3
4
5
6
select e.ename, e.sal, d.dname
from emp e, dept d
where e.deptno = d.deptno
      and e.sal > (select sal
                   from emp
                   where ename ='JONES');
cs

1
2
3
4
5
6
select e.ename, e.sal, d.dname
from emp e inner join dept d
on e.deptno = d.deptno
where e.sal > (select sal
               from emp
               where ename ='JONES');
cs




반응형
저작자표시 비영리 동일조건 (새창열림)

'development' 카테고리의 다른 글

SQL 04 테이블/시퀀스/인덱스  (0) 2017.12.27
SQL 03 그룹함수  (0) 2017.12.27
SQL 01 기초  (0) 2017.12.27
JAVA 09 객체지향 프로그래밍(3)  (0) 2017.12.27
JAVA 08 객체지향 프로그래밍(2)  (0) 2017.12.27

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • SQL 04 테이블/시퀀스/인덱스

    SQL 04 테이블/시퀀스/인덱스

    2017.12.27
  • SQL 03 그룹함수

    SQL 03 그룹함수

    2017.12.27
  • SQL 01 기초

    SQL 01 기초

    2017.12.27
  • JAVA 09 객체지향 프로그래밍(3)

    JAVA 09 객체지향 프로그래밍(3)

    2017.12.27
다른 글 더 둘러보기

정보

Puter의 잡동사니 블로그의 첫 페이지로 이동

Puter의 잡동사니

  • Puter의 잡동사니의 첫 페이지로 이동

검색

메뉴

  • ALL
  • #TAG

카테고리

  • Puter의 잡동사니 (164)
    • creation (5)
    • tagging (42)
    • product (63)
    • toy (18)
    • game (2)
    • clothes (4)
    • useful (3)
    • development (27)
반응형

정보

Puter의 Puter의 잡동사니

Puter의 잡동사니

Puter

블로그 구독하기

  • 구독하기
  • 네이버 이웃 맺기
  • RSS 피드

나의 외부 링크

  • kakao pay
  • 구글 Search Console
  • 구글 Analytics
  • 네이버 웹마스터 도구
  • 네이버 Analytics

방문자

  • 전체 방문자
  • 오늘
  • 어제
Powered by Tistory / Kakao. Copyright © Puter.

티스토리툴바