DB/Oracle 7

Oracle 연습 문제(3)

1. emp를 복사한 테이블에서 급여 등급이 5인 사원을 삭제하시오 delete from demo where empno =(select e.empno from emp e, salgrade s where sal between losal and hisal and grade=5); 2. 다음의 자료구조를 가지는 emp_ex 테이블을 생성하시오 열 자료형 길이 EMPNO 정수형 숫자 4 ENAME 가변형 문자열 10 JOB 가변형 문자열 9 MGR 정수형 숫자 4 HIREDATE 날짜 - SAL 소수점 둘째자리까지 표현되는 숫자 7 COMM 소수점 둘째자리까지 표현되는 숫자 7 DEPTNO 정수형 숫자 2 create table emp_ex ( empno number(4), ename varchar2(10), ..

DB/Oracle 2022.09.05

SQL의 종류 - DML, DDL,DCL,TCL

종류 설명 기능 DDL 데이터 정의언어 데이터 베이스의 스키마를 정의하거나 조작하기 위해 사용 사용시 자동COMMIT이 된다. CREATE : 정의 ALTER : 수정 DROP : 삭제 TRUNCATE : 테이블 내 내용 삭제 DML 데이터 조작 언어 데이터를 조작하기 위해 사용한다. 사용자가 응용 프로그램과 데이터 베이스 사이에 실질적인 데이터 처리를 위해서 주로 사용한다. SELECT : 조회 INSERT : 추가 DELETE : 삭제 UPDATE : 변경 DCL 데이터 제어 언어이다. 데이터의 보안, 무결성, 회복,병행,수행제어 등을 정의하는데 사용 COMMIT : 트랜잭션의 작업 결과를 반영 ROLLBACK : 트랜잭션의 작업을 취소 하고 원래대로 복구 REVOKE : 사용자 권한 취소

DB/Oracle 2022.09.01

오라클 - NVL , NVL2

NVL : 해당 컬럼의 값이 NULL인 경우 특정한 값으로 출력하고 싶을때 사용 NVL2 : 해당 컬럼의 값이 NULL이 아닐때 특정한 값으로 출력하고 싶을때 사용 NVL 함수 NVL( 값 또는 컬럼 , '지정값') 값 또는 컬럼이 NULL 인경우 지정값을 출력하고 아닌 경우 원래의 값을 출력한다. NVL2 NVL2(값 또는 컬럼 , 지정값1 , 지정값2) NVL2(값 또는 컬럼, 'NOT NULL' , 'NULL') 값이 NULL이 아닌경우 지정값 1을 출력하고 NULL인 경우 지정값 2를 출력한다. (예) 추가수당을 받는 사원의 수와 받지 않는 사원의 수를 출력하시오 select nvl2(comm,'o','x') , count(*) from emp group by nvl2(comm,'o','x');

DB/Oracle 2022.08.31

그룹함수 - ROLLUP

그룹함수 ROLLUP 소그룹간의 소계를 계산 GROUP BY 의 확장된 형태로 사용하기가 쉬우며 병렬로 수행이가능하므로 효과적 시간 및 지역처럼 계층적 분류를 포함하고 있는 데이터의 집계에 적합하다. CUBE GROUP BY 항목들 간 다차원적인 소계를 계산 결합 가능한 모든 값에 대하여 다차원적인 집계를 생성하게 되므로 ROLLUP에 비해 다양한 데이터를 얻음. 시스템에 부하를 많이주는 단점이 있음 GROUPING SETS 특정 항목에 대한 소계를 계산 원하는 부분의 소계만 손쉽게 추출가능 ROLLUP,CUBE, GROUPING SETS 결과에 대한 정렬이 필요한 경우에는 ORDER BY 절에 정렬 컬럼을 작성해주어야함. ROLLUP :순차적으로 중간 합계를 출력한다. : ROLLUP 에서 지정된 그룹..

DB/Oracle 2022.08.31

오라클 연습문제(2)

1.. EMP테이블 에서 사원들은 입사일(HIREDATE)을 기준으로 3개월이 지난 후 첫 월요일에 정직원이 됩니다. 사원들이 정직원원이 되는 날짜(R_JOB)를 YYYY-MM-DD 형식으로 출력해주세요. 단, 추가수당(COMM)이 없는 사원의 추가수당은 'N/A'로 출력하세요. select ename,hiredate,to_char(next_day(ADD_MONTHS(LAST_DAY(hiredate), 3),'월요일'),'yy-mm-dd') ,nvl(to_char(comm),'N/A') from emp ; 2.emp 테이블을 이용하여 부서번호, 평균급여 , 최고급여, 최저급여, 사원수를 출력하시오 단 평균급여는 소숫점을 제외하고 각 부서번호 별로 출력하시오 select deptno, trunc(avg(s..

DB/Oracle 2022.08.31

오라클 연습 문제(1)

1. research 부서에서 일하는 사원들 중 급여가 2000 이하인 사원들을 구하는 쿼리 작성 >>select ename, sal from emp where deptno=(select deptno from dept where dname='RESEARCH') and sal>select ename, sal , nvl(comm,0) , sal*12+nvl(comm,0) 연봉 from emp e , salgrade s where s.grade=5 and e.sal between losal and hisal and( e.comm > select ename , nvl(comm,0) , sal, sal*12+nvl(comm,0) from emp where sal =(select sal from emp, salgr..

DB/Oracle 2022.08.29