sql중급 / 서브쿼리를 사용한 insert문
085 서브 쿼리를 사용하여 데이터 입력하기 -- emp800이라는 테이블 생성하기 create table emp800 ( empno number(10), ename varchar2(10), job varchar2(10), sal number(10) ); -- emp800에 서브쿼리문을 사용한 insert문으로 데이터를 입력 (values 사용하지 않음) insert into emp800(empno, ename, job, sal) select empno, ename, job, sal from emp where job = 'SALESMAN'; /* 보통 데이터를 넣는 방법(한 건씩) insert into emp800(empno, ename, job, sal) vwlues (9283, 'ALLEN','SAL..
sql 중급 / DML(commit, rollback, merge, lock, select for update)
문제395. 부서번호, 부서번호별 평균월급을 출력하시오 select deptno, avg(sal) from emp group by deptno; 문제396. 위의 SQL의 결과를 view로 생성하시오 create view emp_deptno_avg as select deptno, avg(sal) as avg from emp group by deptno; -- view 생성할 때 쿼리문에 그룹함수가 있으면 컬럼별칭을 반드시 사용해야함. 문제397. emp테이블과 emp_dept_avg view를 조인해서 이름,월급, 자기가 속한 부서의 평균월급을 출력하시오 select e.ename, e.sal, a.평균 from emp e, emp_deptno_avg a where e.deptno = a.deptno; ..
sql중급 / DML문(insert, update, delete)
078 데이터 입력하기(INSERT) ㅁSQL 종류 1. Query : select문의 6가지 절, 함수, 조인, 서브쿼리, 집합연산자 2. DML (Data Manpulation Language) : insert, update, delete, merge 3. DDL (Data Definition Language) : create, alter, drop, truncate, rename 4. DCL (Data Control Language) : grant, revoke 5. TCL (Transaction Control Language) : commit, rollback, savepoint insert into 테이블명(컬럼명1,컬럼명2,....) values(값1,값2,.....) 문자의 경우 양쪽에 작은..
sql중급 / subquery ( select절)
ㅁ복습 1. select 문의 6가지절 (select, from, where, group by, having, order by) 2. 함수의 종류 3가지 (단일행, 복수행, 데이터분석함수) 3. 조인문(오라클 조인문법, 1999 ANSI 조인문법) - 오라클 조인문법 : equi join, non equi join, outer join, self join - 1999 ANSI 조인문법 : on절을 사용한 조인, using절을 사용한 조인, natural join, left/right/full outer join, cross join 4. 집합연산자 4가지 (union all, union, intersect, minus) 5. 서브쿼리의 종류 3가지 (단일 행 서브쿼리, 다중 행 서브쿼리, 다중 컬럼 서브..
sql중급 / subquery(단일 행)
071 서브 쿼리 사용하기 1(단일행 서브쿼리) ㅁSQL의 종류 1. Query : select문의 6가지 절, 함수, 조인, 집합연산자, 서브쿼리 2. DML : insert, update, delete, merge 3. DDL : create, alter, drop, truncate, rename 4. DCL : grant, revoke 5. TCL : commit, rollback, savepoint ㅁ서브쿼리의 종류 3가지 1. 단일행 서브쿼리 2. 다중행 서브쿼리 3. 다중컬럼 서브쿼리 ㅁ서브쿼리(subquery)를 알아야 하는 이유 > 다음의 질문에 답하기 위함 " Jones의 월급보다 더 많은 월급을 받는 사원들의 이름과 월급을 출력하시오" -- 쿼리를 2번 쓸 경우 select sal fr..
문제4. SQL / rollup하여 생긴 null값에 데이터 입력하기
[처음 쓴 코드] select deptno, case when deptno is null then decode(to_char(grouping(job)),1,'전체토탈',job) when job is null then decode(to_char(grouping(job)),1,'부서토탈',job) else job end as job2, sum(sal) from emp group by rollup(deptno, job); 처음 쓴 코드로도 문제가 풀렸으나, decode 함수를 굳이 써야 하는지 의문이 생김 [수정코드] -- 수정코드1 select deptno, case when deptno is null then '전체토탈' when job is null then '부서토탈' else job end as jo..