/*
자기 부서의 평균월급보다 월급이 많은 사원의 이름, 월급, 부서번호, 부서 평균월급출력.
*/

select job , AVG(sal) as [평균연봉] , DEPTNO
from emp
where job != 'clerk'
group by job

select ENAME, SAL, e.DEPTNO, sample.avgsal
from emp e, (select DEPTNO, AVG(SAL) as [avgsal] from emp group by DEPTNO) sample
where e.DEPTNO = sample.DEPTNO
 and e.SAL > sample.avgsal
 
 
select  ENAME,SAL
from EMP
where SAL > ( select avg(SAL) from EMP )

exec sp_help emp

--insert into 테이블에값 입력

insert into EMP values(9999,'tom','salesman',7902,GETDATE(),800,25,30)

select *
from emp

insert EMP(EMPNO,ENAME) values(8888,'bill')

--update 테이블에 입력되어있는 값을 수정
update EMP
set SAL = 7800
where ENAME = 'tom'

--delete
delete from EMP
where ENAME in('tom','bill')

/*
insert ~ select
기존의 테이블에서 레코드를 가져다가
기존의 테이블에 입력시키는 것.

select ~ into
기존의 테이블에서 레코드를 가져다가
새로운 테이블을 만들면서 입력시키는 것
*/


--select ~ into
select empno, ename, DEPTNO into t_table
from emp
where DEPTNO = 10


select * from t_table

insert t_table select empno, ENAME, DEPTNO from EMP where DEPTNO = 20

'개발 > SQL' 카테고리의 다른 글

MS-SQL 문제 50문  (0) 2011.05.18
MS-SQL 문제 12문  (0) 2011.05.18
MS-SQL 조건문  (0) 2011.05.18
MS-SQL 기본문제 9문  (0) 2011.05.18
MS-SQL 정렬문법 [order by , top ]  (0) 2011.05.18


--allen보다 월급이 높은사람의 이름과 월급 출력

select SAL
from emp
where ENAME = 'allen'

select ENAME, SAL
from emp
where SAL >=( select SAL from emp where ENAME = 'allen' );

select ENAME, SAL
from EMP
where SAL in(( select SAL from emp where JOB = 'salesman' ))

select ENAME, SAL
from EMP
where SAL > ( select MAX(SAL)  from EMP  where DEPTNO = 20);

--all 연산자 조건문에서 안에들어있는 모든값을 포함.
select ENAME, SAL
from EMP
where SAL > all( select SAL  from EMP  where DEPTNO = 20);

--any 연산자조건 안에들어있는 값중 하나라도 만족하는경우
select ENAME, DEPTNO
from EMP
where deptno = any(select DEPTNO from EMP where ename like '%T%')

'개발 > SQL' 카테고리의 다른 글

MS-SQL 문제 12문  (0) 2011.05.18
MS - SQL 수정문법 [ insert into , insert ~ select ]  (0) 2011.05.18
MS-SQL 기본문제 9문  (0) 2011.05.18
MS-SQL 정렬문법 [order by , top ]  (0) 2011.05.18
MS-SQL 기초문제  (0) 2011.05.18


-- 1. 사원들의 이름, 부서번호, 부서이름을 출력하라.
select ENAME, emp.DEPTNO, DNAME
from emp, DEPT
where emp.DEPTNO = DEPT.DEPTNO


-- 2. DALLAS에서 근무하는 사원의 이름, 직위, 부서번호, 부서이름을
-- 출력하라.

select ENAME, JOB, emp.DEPTNO, DEPT.DNAME
from emp, dept
where dept.LOC = 'DALLAS'
 and emp.DEPTNO = DEPT.DEPTNO

-- 3. 이름에 'A'가 들어가는 사원들의 이름과 부서이름을 출력하라.
select ENAME, DEPT.DNAME
from emp, DEPT
where emp.DEPTNO = DEPT.DEPTNO
 and ENAME like 'A%'

-- 4. 사원이름과 그 사원이 속한 부서의 부서명, 그리고 월급을
--출력하는데 월급이 3000이상인 사원을 출력하라.

select ENAME,DNAME, SAL
from emp, DEPT
where SAL >= 3000
 and emp.DEPTNO = DEPT.DEPTNO

-- 5. 직위가 'SALESMAN'인 사원들의 직위와 그 사원이름, 그리고
-- 그 사원이 속한 부서 이름을 출력하라.

select JOB, ENAME, DNAME
from EMP, DEPT
where JOB = 'SALESMAN'
 and EMP.DEPTNO = DEPT.DEPTNO

-- 6. 커미션이 책정된 사원들의 사원번호, 이름, 연봉, 연봉+커미션,
-- 급여등급을 출력하되, 각각의 컬럼명을 '사원번호', '사원이름',
-- '연봉','실급여', '급여등급'으로 하여 출력하라.

select EMPNO     as [사원번호]
,  ENAME     as [이름]
,  SAL*12     as [연봉]
,  SAL*12+isnull(COMM,0) as [실급여]
,  GRADE     as [급여등급]
from emp,DEPT, SALGRADE
where emp.DEPTNO = DEPT.DEPTNO
 and emp.SAL >= SALGRADE.LOSAL
 and emp.SAL <= SALGRADE.HISAL

-- 7. 부서번호가 10번인 사원들의 부서번호, 부서이름, 사원이름,
-- 월급, 급여등급을 출력하라.
 
 select emp.DEPTNO, DNAME, ENAME, SAL, GRADE
 from EMP, DEPT, SALGRADE
 where emp.DEPTNO = DEPT.DEPTNO
 and SAL >= LOSAL
 and SAL <= HISAL
 and dept.DEPTNO = '10'
 
 

-- 8. 부서번호가 10번, 20번인 사원들의 부서번호, 부서이름,
-- 사원이름, 월급, 급여등급을 출력하라. 그리고 그 출력된
-- 결과물을 부서번호가 낮은 순으로, 월급이 높은 순으로
-- 정렬하라.

select dept.DEPTNO, dept.DNAME, ENAME, SAL, GRADE
from EMP, DEPT, SALGRADE
where emp.DEPTNO = DEPT.DEPTNO
 and SAL between LOSAL and HISAL
 and (emp.DEPTNO = 10 or emp.DEPTNO = 20)
order by emp.DEPTNO asc, SAL desc


-- 9. 사원번호와 사원이름, 그리고 그 사원을 관리하는 관리자의
-- 사원번호와 사원이름을 출력하되 각각의 컬럼명을 '사원번호',
-- '사원이름', '관리자번호', '관리자이름'으로 하여 출력하라.

select e.EMPNO  as [사원번호]
,  e.ENAME  as [사원이름]
,  f.DEPTNO as [관리자번호]
,  f.ENAME  as [관리자이름]
from EMP e, EMP f
where e.MGR = f.EMPNO

'개발 > SQL' 카테고리의 다른 글

MS - SQL 수정문법 [ insert into , insert ~ select ]  (0) 2011.05.18
MS-SQL 조건문  (0) 2011.05.18
MS-SQL 정렬문법 [order by , top ]  (0) 2011.05.18
MS-SQL 기초문제  (0) 2011.05.18
MS-SQL 문법 [ DATE ]  (0) 2011.05.18

+ Recent posts