반응형

안녕들 하시죠!

이번 시간에도 '사내 DB테이블'을 이용한 문제풀이를 통해 ORACLE SQL 쿼리문을 복습해보겠습니다.

 

언어 및 툴

ORACLE DATABASE, SQLDEVELOPER

 

테이블 생성 참고

2019/09/28 - [Database] - ORACLE SQL 쿼리 복습을 위한 '사내 DB테이블' 세팅

 

쿼리 실행 순서

5 SELECT 
1 FROM 
2 WHERE
3 GROUP BY
4 HAVING
6 ORDER BY

 

문제

1. 사원수가 3명 이상인 부서명과 인원수를 출력하시오. ( group by, having )

having절 -- group by로 묶은 값들에 조건을 추가한다 (=where)

SELECT [그룹으로 묶은 컬럼명]
     , [집계할 컬럼명]
FROM [테이블명]
GROUP BY [그룹으로 묶을 컬럼명]
HAVING [그룹으로 묶은 값에 조건 추가]

count 함수 -- 테이블 전체 행 검색 ( count(*) )

                   특정 컬럼의 숫자 검색 ( count(컬럼명) )

1
2
3
4
5
select job
     , count(*)
from emp
group by job
having count(*>= 3;
cs

 

2. 직무 중 가장 적게 수입을 가지는 직무의 평균 월급을 출력하시오.
1
2
3
select min(AVG(sal)) 
from emp 
group by job;
cs

 

3. 사원번호, 사원이름, 부서이름, 부서번호를 출력하시오. ( Join )

Oracle 내부조인 -- 테이블간에 동일한 컬럼을 조인

1
2
3
4
5
6
7
select emp.ename
     , emp.empno
     , dept.dname
     , dept.deptno
from emp
   , dept
where emp.deptno = dept.deptno;
cs

Natural 조인 -- 테이블간에 동일한 모든 컬럼을 조인 

1
2
3
4
5
select ename
     , empno
     , dname
     , deptno
from emp natural join dept;
cs

Join On -- 조인의 세부조건을 지정할 수 있다.

1
2
3
4
5
6
select ename
     , empno
     , dname
     , dept.deptno
from emp join dept
on emp.deptno = dept.deptno;
cs

Join Using -- 컬럼을 선택해서 조인.

1
2
3
4
5
6
select ename
     , empno
     , dname
     , deptno
from emp join dept
using (deptno);
cs

 

 

 

4. 부서가 30이고, 급여가 1500이상인 사원의 이름, 급여, 부서명, 부서번호를 출력하시오. ( Join on )
1
2
3
4
5
6
7
8
select emp.ename
     , emp.sal
     , dept.dname
     , dept.deptno
from emp join dept
on emp.deptno = dept.deptno
where emp.deptno = 30
and sal >= 1500;
cs

 

5. 사원수가 5명이 넘는 부서의 부서명과 사원수를 출력하시오.

 

1
2
3
4
5
6
7
8
select dept.dname
     , count(*)
from emp
   , dept
where emp.deptno = dept.deptno
group by emp.deptno
       , dept.dname
having count(*>= 5;
cs

 

6. ADAMS 사원이 근무하는 부서이름과 지역이름을 출력하시오.
1
2
3
4
5
6
7
select dept.dname
     , dept.loc
     , emp.ename
from emp
   , dept
where emp.deptno = dept.deptno
and emp.ename = 'ADAMS';
cs

 

7. NEW YORK 이나 DALLAS 지역에 근무하는 사원들의 사원번호, 사원이름을 사원번호 순으로 검색하시오.
1
2
3
4
5
6
7
select e.empno
     , e.ename
from emp e
   , dept d
where e.deptno = d.deptno
and (d.loc = 'NEWYORK' or d.loc='DALLAS')
order by e.empno;
cs

오늘은 여기까지입니다 감사합니다.

반응형

 

안녕들 하시죠!

이번 시간부터 '사내 DB테이블'을 이용한 문제풀이를 통해 ORACLE SQL 쿼리문을 기초부터 복습할 생각입니다.

 

언어 및 툴

ORACLE DATABASE, SQLDEVELOPER

 

테이블 생성 참고

2019/09/28 - [Database] - ORACLE SQL 쿼리 복습을 위한 '사내 DB테이블' 세팅

 

쿼리 실행 순서

5 SELECT 
1 FROM 
2 WHERE
3 GROUP BY
4 HAVING
6 ORDER BY

 

문제

1.  부서번호 10번인 사원들의 사원번호, 사원이름, 월급을 출력하시오.
1
2
3
select empno, ename, sal
from emp
where deptno=10;
cs

 

2.  사원번호 7369인 사원 이름, 입사일, 부서번호를 출력하시오.
1
2
3
select ename as 사원이름, hiredate as 입사일, deptno as 부서번호
from emp
where empno=7369;
cs

 

3. 사원번호 7300크고 7400 작은 사원 이름, 입사일, 부서번호를 출력하시오.
1
2
3
select ename as 사원이름, hiredate as 입사일, deptno as 부서번호
from emp
where empno > 7300 AND empno < 7400;
cs

 

 

4.  EMP 모든 정보를 (사원번호 기준 내림차순으로) 검색하시오.

정렬
ASC - 오름차순 ( DEFAULT값 )
DESC - 내림차순

1
2
3
select *
from emp
order by empno desc;
cs

 

5. 이름이 S로 시작하는 모든 사람의 사원번호와 이름을 출력하시오.
1
2
3
select *
from emp
order by empno desc;
cs

 

6. 직속상관 사원번호가 없는 사원의 모든 정보를 검색하시오.
1
2
3
select *
from emp
where mgr is null;
cs

 

오늘은 여기까지입니다 감사합니다 !

반응형

안녕들 하시죠!

이번시간에는 오라클 11g 설치에 대해 알아보겠습니다.

 

먼저 아래의 URL을 통해 Oracle 홈페이지로 들어갑니다.

https://www.oracle.com/kr/index.html

 

 

다운로드로 들어가보겠습니다.

 

 

Database 11g Express Edition 버전으로 설치해보겠습니다.

 

 

Windows x64 버전으로 다운받겠습니다.

 

 

로그인을 하게되면 바로 다운로드가 됩니다.

 

 

setup.exe 를 실행해주세요.

 

다음

 

 

 

아래의 비밀번호는 중요하니 기억해둬야 합니다.

 

 

 

 

이제 시작화면에서 SQL PLUS를 찾습니다.

 

사용자명 : system

비밀번호 : 위에서 설정한 비밀번호

 

다음에 접속됨:

이 나오게 되면 설치가 끝납니다.

 

오늘은 여기까지입니다 감사합니다 !

+ Recent posts