본문 바로가기

디비1

디비총마무리 select deptno,ename,sum(sal)from empgroup by rollup(deptno,ename); select deptno,ename,sum(sal)from empgroup by deptno,enameunion allselect deptno,to_char(null) as ename,sum(sal)from empgroup by deptnounion allselect to_number(null) as deptno,to_char(null) as ename, sum(sal)from emporder by deptno,ename; select deptno,ename,sum(sal)from empgroup by grouping sets((deptno,ename),(deptno)); select .. 더보기
디비 - 6월8일월요일 마지막 수업 sqld 기출문제 메일 *레포팅 함수 1.rollup2.cube3.grouping sets4.gruoping5.dgrouping_id *DML 문장 문제162.부서번호,부서번호별 토탈월급을 출력하시오. select deptno, sum(sal)from empgroup by deptno; 문제163.사원 테이블의 토탈월급을 출력하시오. select sum(sal)from emp; 근데 162+163 이걸 한번에 나오게 하고 싶은 거 그럴려면 집합 연산자를 4가지 1.합집합 : union all, union2.교집합 : intersect3.차집합 : minus 문제 164.문제 162번의 결과와 문제 163번의 결과를 한번에 출력하시오. select deptno,sum(sal)from empgroup by .. 더보기
디비 - 6월1일월요일 기말고사 SQL 작성 여러분들이 생성한 문제 너무 어렵게하지말고깔끔하게 작성할 수 있도록. 오늘 배울 내용 *분석함수 -> DATA를 분석을 쉽게하기 ->data 분석을 쉽게하기 위해서 오라클에서 제공하는 함수.이 함수를 이용하면 어렵고 복잡한 SQL을 단순하게 작성을 할 수 있다. *집합연산자 - 다음주에 배울 내용* DML 문 1.rank 함수2.listagg 함수3.ntile4.그룹함수 over (문법)5.lag , lead 함수6.first_value , last_value 함수7.레포팅함수 listagg 함수 , wm_concat 함수 : 세로로 출력되는 결과를 가로로 출력하는 함수 문제 147.부서번호 , 해당 부서번호에 속한 사원들의 이름을 가로로 출력하시오. select deptno,wm_.. 더보기
디비 - 5월18일 월요일 5/18 디비 # 서브쿼리는 select, from, where, having, order by 절에 다 쓸 수 있다. group by 빼고 다 임. #select, order by 절의 서브쿼리는 scalar subquery(확장된 서브쿼리)라 한다. # from 절의 서브쿼리는 in line view 라고 한다. * 문제138: 사원이름, 월급, 월급에 대한 순위를 출력하시오.월급에 대한 순위는 월급이 높은 순에 대한 순위이다.(분석함수 rank를 활용해야 함.) select ename, sal, rank() over (order by sal desc) 순위from emp; select ename, sal, dense_rank() over (order by sal desc) 순위from emp; ☞d.. 더보기
디비 - 5월11일 월요일 ★ 서브쿼리의 종류 3가지 1. single row subquery : 서브쿼리에서 메인쿼리로 하나의 값이 리턴되는 경우 2. multiple row subquery : 서브쿼리에서 메인쿼리로 여러개의 값이 리턴되는 경우 3. multiple column subquery : 서브쿼리에서 메인쿼리로 여러개의 컬럼값이 리턴되는 경우 문제 127. 부서번호 20번에서 가장 늦게 입사한 사원의 이름과 입사일과 부서번호를 출력하시오. select ename,hiredate,deptno from empwhrer hiredate = (select max(hiredate) from emp where deptno =20; ) 문제 128. 30번 부서번호인 사원들과 월급도 같고 커미션도 같은 사원들의 이름과 월급과 커미.. 더보기
디비1 - 5월4일 월요일 문제111. 최대 월급을 받는 사원의 이름과 월급을 출력하시오. select ename,max(sal)from emp; *subquery를 사용해야 한다. (왜 ? ?? ?) 문제112.JONES의 월급보다 더 많은 월급을 받는 사원들의 이름과 월급을 출력하시오. (우선 JONES의 월급을 알아야겠지??) select salfrom empwhere ename='JONES' ; select ename,salfrom empwhere sal> (select sal from emp where ename='JONES') ; 빨간색은 메인쿼리, 파란색은 서브쿼리 라고 한다.이렇게 한꺼번에 쿼리를 써서 한방에 구하자는 것.오라클이 서브쿼리를 먼저 시행한데, 존스의 월급을 리턴하고 그리고 이제 메인쿼리를 돌린다. 문제.. 더보기
디비1 - 4월27일 중간고사 시험문제를 카페에 올렸으니 다운을 받아서 괴롭겠지만답을 달아서 몇개 틀렸는지 확인해보고 요번주 토요일까지 메일을 보내면 10점 가산점90점이면 100점이 되는거고 ! *조인의 종류 1. 오라클 조인문법-equi join조인하려는 테이블 사이의 연결고리가 = 조건인 경우-non equi join조인하려는 테이블 사이의 연결고리 =이 아닌 경우-outer joineui join으로 조인 안된 결과를 볼때 사용하는 조인-self join자기 자신의 테이블과 조인하는 조인 문제94.부서번호가 30번인 사원들의 이름,부서위치,월급,부서번호를 출력하시오.그냥 스킵~~ 문제95.이름,월급,grade(급여등급)을 출력하시오.*non equi join select e.ename,e.sal,s.gradefrom .. 더보기
@@@@@@@@중간고사 끝@@@@@@@@@@@@@@@ 중간고사 끝나고 난 뒤의 그것을 분석해보면 우선 수업시간에 모든 세세한 말하나하나 다 기록해놓고 그리고 시험 공부는 뭐 안나올 것 같은 이론도 잘봐야 된다는 거...개념은 진짜 확실하게 알아둬야 한다.문제 기말때도 공유하게 되면 다양한 사람들이랑 공유하면서 다양한 유형의 문제를 한번 풀어보자. 더보기
문제공유 풀이 최현일 내가문제만든거이름과 입사한 요일과 월급과 보너스를 출력하는데입사한 요일이 금요일이면 자신의 월급에 커미션을 곱해서 보너스를 출력하고입사한 요일이 토요일이면 자신의 월급의 10%를 보너스로 출력하고나머지 요일은 그냥 0으로 출력한다. 단, comm이 null인 경우에는 100으로 통일하고,천단위와 만단위를 표시하시오. [답]select to_char(hiredate,'day'),sal,to_char(decode(to_char(hiredate,'day'),'금요일',sal*nvl(comm,100),'토요일',sal*10,0),'999,999,999')bonusfrom emp; 윤신영 문제.'DALLAS'에 위치한 직원의 이름,커미션,입사일,위치를력한다. 단, 커미션이 null인값에는 hiredate가.. 더보기
디비 중간 요약정리!!!@@@@@@@@@@@@@ 1)EMPNO 사원번호ENAME 사원이름JOB 직업MGR 관리자의 사원번호HIREDATE 입사일SAL 월급COMM 커미션DEPTNO 부서번호 2)커미션이 나오면 조심해라,널이 나올 수도 있기 때문이다.월급+커미션 일 때 그래서 널이 나올 수도 있다. x + null = null 이기 때문. 3)문제5.사원 테이블에 직업의 종류가 무엇이 있는지 조회하시오 !*distinct ->중복제거하는 키워드select distinct job from emp; 4)*where절을 사용해서 조건검색 문제7.사원번호가 7788 번인 사원의 사원번호와 이름을 출력하시오 !select empno,ename from emp where empno = 7788 ; 5)문제9.직업이 SALESMAN인 사원들의 이름과 월급과 직업을 .. 더보기