Oracle 데이터베이스 다음날

Oracle 데이터베이스 다음날
다 중 표 조회, 하위 조회, 집합 연산 1, 피리 칼 적: 두 장의 표 의 곱 하기 형식: select * from 표 1, 표 2;
-- Create table
create table EMP
(
  empno    NUMBER(4),
  ename    VARCHAR2(10),
  job      VARCHAR2(9),
  mgr      NUMBER(4),
  hiredata DATE,
  sal      NUMBER(10,2),
  comm     NUMBER(10,2),
  deptno   NUMBER(2)
)
tablespace USER_TS_DATA
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
  );
-- Add comments to the table 
comment on table EMP
  is '   ';

--      ,    ,     ,     
select e1.empno,e1.ename,e1.mgr,e2.ename from emp e1,emp e2 where e1.mgr = e2.empno;

2. 외부 연결 왼쪽 외부 연결: left (outer) join 왼쪽 표 의 모든 기록, 오른쪽 표 에 대응 하 는 기록 이 없 으 면 비어 있 습 니 다.오른쪽 외부 연결: right (outer) join 오른쪽 표 의 모든 기록 입 니 다. 왼쪽 표 에 대응 하 는 기록 이 없 으 면 비어 있 습 니 다.ps: outer 는 생략 할 수 있 습 니 다.
--     
select e1.empno,e1.ename,e1.mgr,e2.ename from emp e1 inner join emp e2 on e1.mgr = e2.empno;

select * from emp e1 left join emp e2 on e1.mgr = e2.mgr;

3. 하위 조회: 조회 문 에 포 함 된 조회 문
--           (    )
--1、         
select max(sal) from emp
--2、         
select * from emp where sal = (select max(sal) from emp);

--   7782   ,   7698    job     
select * from emp where sal > (select sal from emp where empno = '7782')
and job = (select job from emp where empno = '7698');  

4. exists (검색 어): 존재 한 다 는 뜻.불 값 으로 처리: 검색 결과 가 있 으 면 true 로 돌아 갑 니 다. 그렇지 않 으 면 false;적용: 빅 데이터 처리 (효율 적).rowid: 위조 열, 시스템 이 자동 으로 생 성 하 는 열, 열 번 호 를 표시 합 니 다.rownum: Oacle 특유 의 열 번 호 를 표시 하 는 기본 값 1. 조회 결과 가 나 오 면 1 이 추 가 됩 니 다.큰 판단 을 하지 않 고 작은 판단 을 한다.
--            
select * from (select e.* from emp e order by (sal) desc) where rownum < 4;
--                    
select * from emp e1,(select deptno,avg(sal) avgsal from emp group by deptno) t1 
where e1.deptno = t1.deptno
and e1.sal > t1.avgsal;
--             
select
	sum(cc)  "Total",
	sum(case yy when '2015' then cc end) "2015",
	sum(case yy when '2016' then cc end) "2016",
	sum(case yy when '2017' then cc end) "2017",
	sum(case yy when '2018' then cc end) "2018",
	sum(case yy when '2019' then cc end) "2019"
from
	(select to_char(hiredata,'yyyy') yy,count(1) cc from emp group by to_char(hiredata,'yyyy'));

좋은 웹페이지 즐겨찾기