7장 조인.

Slides:



Advertisements
Similar presentations
북한기도제목 4 월 3 주 (4/15-4/21). 1. 북한정치 - 통일부와 국방부는 11 일 잇따라 열린 정례 브리핑에서 지난 7 일 북한 해외 식당 종업원 들이 집단 탈북한 데 이어 북한 정찰총국 출 신 북한군 대좌와 북한 외교관이 지난해 잇 따라 한국으로 망명한.
Advertisements

널 (null) 의 처리 널을 검색하는 방법 형식 예 ) takes 테이블에서 아직 학점이 부여되지 않은 학생의 학번을 검색 is null is not null ( 질의 64) select stu_id from takes where grade is null.
강사: 이종인 다우 교육원 전임강사 / 온디멘드 수석 컨설턴트 / FMG 수석 컨설턴트
SQL 언어 SQL.
PowerBuilder Stored Procedure DW
데이터베이스 9주차 : 데이터베이스 설계 2교시 : 데이터베이스 설계(3)
SQL Statement Tuning e-Architecture 팀 임성욱.
Nested Queries CSED421: Database Systems Labs.
19.(코드+년도+월)별,(코드)별,전체총액을 한번에
SQL 0613.
오라클 데이터베이스 성능 튜닝.
Perfect! 대용량 데이터베이스 튜닝Ⅱ.
You YOungseok 데이터베이스 테이블 및 인덱스 You YOungseok.
12 프로젝트 실습.
데이터 모델링 방법론 2003년 03월.
PL/SQL.
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
Second lab (제출기한 : 11월 15일(목) 까지)
대용량 데이터베이스 솔루션 발표자: 박보영 2007년 5월19일.
오라클 데이터베이스 성능 튜닝.
DataBase 기본 교육 신입사원용 최지철.
Database & Internet Computing Laboratory 한 양 대 학 교
박시우 ( 업무에 바로 쓰는 SQL 튜닝 박시우 (
Chapter 5 SQL: 확장된 질의, 주장, 트리거, 뷰.
제 5 장 인덱스 생성 및 관리.
SELECT 문 사원 테이블의 모든 정보를 출력하는 예제 1. 비교 연산자 SELECT 문의 형태
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
8장 서브 쿼리.
Oracle7.0 (SQL & SQL PLUS) - 신입사원 교육자료 (주)대호네티즌 S/W개발팀.
요약 정보 만들기.
오라클 데이터베이스 성능 튜닝.
kHS 데이터베이스 테이블 및 인덱스 kHS.
데이터 베이스 설계 및 실습 #3 - SQL 함수.
강남/죽전/사당/잠실/성남/야탑/분당
14장 뷰.
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
I. SQL 성능 향상 가이드.
08 조인(JOIN) 조인의 개념 칼럼 이름의 애매모호성, 테이블 별명, 조인 조건식 조인의 종류.
14 뷰(View) 뷰의 개념 뷰 관리.
뷰와 저장 프로시저 뷰의 개념을 이해한다. 뷰의 정의와 관리 방법을 이해한다. 뷰를 사용함으로써 생기는 장점을 알아본다.
SELECT empno, ename, job, sal, dname FROM emp, dept
3장 SQL*Plus 명령어.
9장 테이블 생성 및 변경, 삭제하기(DDL).
DP-ORA 쿼리 최적화 가이드 쿼리 최적화 방법 2014년 7월.
SQL.
Quiz #1.
강사: 이종인 다우 교육원 전임강사 / 온디멘드 수석 컨설턴트 / FMG 수석 컨설턴트
제 4 장 관계 데이터 연산 1. 개요 2. 관계 대수 3. 관계 해석.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
13장 무결성 제약조건.
12장. SELECT 명령문: ORDER BY절 단일 열 정렬 순서번호로 정렬 오름차순과 내림차순 정렬 하나 이상의 행 정렬
View(뷰) 1 가상 테이블(Virtual Relation)
Database 중고차 매매 DB 비즈니스IT 윤동섭.
11장. GROUP BY와 HAVING 열의 그룹화 2개 이상의 열에 대한 그룹화
오라클 쿼리 문제 EMP (사원 테이블) DEPT (부서 테이블) 컬럼명 설명 EMPNO 사원번호 ENAME 사원명 JOB
기본적인 SELECT문 작성.
8장 테이블의 생성 및 변경 정인기.
학습목표 학습목표 본 장은 데이터베이스를 구성하는 개체, 속성, 관계 등을 다룬다. 특별히 데이터베이스의 구조를 테이블에 기초하여 조직하는 관계 데이터 모델은 개체(entity)와 관계(relationship) 들이 테이블의 집합 형태로 되어 간단하고 이해하기 쉬우며.
How I Approach Tuning a SQL Statement
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
SQL 함수.
쿼리 활용하기 1 담당교수 : 박흠 실용컴퓨터 데이터베이스 기초 Access 담당교수 박흠.
Presentation transcript:

7장 조인

목 차 EQUI JOIN 컬럼 명의 모호성 해결 테이블명에 별칭 부여 EQUI JOIN에 AND 연산을 추가하여 검색 NON-EQUI JOIN SELF JOIN OUTER JOIN 예제

조인의 기본 개념 조인 : 원하는 정보가 하나의 테이블에 없을때 두 개이상의 테이블에서 정보를 얻음 사원번호가 7900인 사원의 이름, 부서명 조회 SQL> SELECT * FROM  emp; SQL> SELECT * FROM  dept; SQL> SELECT empno, ename, deptno    2  FROM  emp    3  WHERE empno = 7900; SQL> SELECT dname    2  FROM  dept    3  WHERE deptno = 30;

EQUI JOIN Equi join : 공통으로 존재하는 컬럼이 같은 값을 가질 때 결합

EQUI JOIN 사원명과 부서명 조회 SQL> SELECT ename, dname 2 FROM emp, dept    3  WHERE emp.deptno = dept.deptno;

컬럼 명의 모호성 해결 SQL> SELECT ename, dname, 2 FROM emp, dept 두 테이블에 같은 이름의 컬럼이 존재할 때 테이블명을 앞에 명시해야 함 - 테이블 명.컬럼명 SQL> SELECT ename, dname,    2  FROM  emp, dept    3  WHERE deptno = deptno; Error : 열의 정의가 애매합니다. SQL> SELECT ename, dname, emp.deptno, dept.deptno    2  FROM  emp, dept    3  WHERE emp.deptno = dept.deptno;

테이블명에 별칭 부여 SQL> SELECT e.ename, d.dname, e.deptno, d.deptno 테이블명 뒤에 공백을 두고 별칭 부여 SQL> SELECT e.ename, d.dname, e.deptno, d.deptno   2   FROM  emp e, dept d   3   WHERE  e.deptno = d.deptno;

EQUI JOIN에 AND 연산을 추가하여 검색 이름이 ‘SCOTT’인 사원의 이름과 부서명 조회 SQL> SELECT ename, dname    2  FROM   emp e, dept d     3  WHERE e.deptno = d.deptno     4  AND    e.ename='SCOTT';

NON-EQUI JOIN Non-Equi join : 컬럼이 일정 범위의 값을 가질 때 결합 호봉 테이블 조회 SQL> SELECT * from salgrade; 사원 이름과 급여, 호봉 산출 SQL> SELECT e.ename, e.sal, s.grade   2   FROM emp e, salgrade s   3   WHERE e.sal >= s.losal AND e.sal <= s.hisal; SQL> SELECT e.ename, e.sal, s.grade   2   FROM emp e, salgrade s   3   WHERE e.sal BETWEEN s.losal AND s.hisal;

SELF JOIN Self join : 자기자신 테이블과 결합 사원의 이름과 상사의 이름 조회 SQL> SELECT e.ename || ‘의 매니저는 ’ || m.ename || ‘입니다.’   2   FROM emp e, emp m   3   WHERE e.mgr = m.empno;

OUTER JOIN Outer join : 조건에 만족하지 않는 행도 나타내도록 하는 결합 SQL> SELECT e.ename || ‘의 매니저는 ’ || m.ename || ‘입니다.’   2   FROM emp e, emp m   3   WHERE e.mgr = m.empno(+); 값이 없는 쪽, Null값이 인쇄되는 쪽에 (+) 기호

OUTER JOIN 사원의 이름과 부서명을 조회하시오(부서테이블의 모든 부서 출력) SQL> SELECT e.ename, d.dname   2   FROM emp e, dept d   3   WHERE e.deptno(+) = d.deptno; 값이 없는 쪽에 (+) 기호 즉, null값이 인쇄되는 쪽

예제 1,2 사원의 이름과 부서번호, 부서명 조회 SQL> SELECT e.ename, d.deptno, d.dname    2  FROM   emp e, dept d     3  WHERE e.deptno = d.deptno;    부서번호가 30인 사원의 이름, 직급, 부서번호, 부서위치 조회 SQL> SELECT e.ename, e.job, e.deptno, d.loc    2  FROM   emp e, dept d     3  WHERE e.deptno = d.deptno 4 and e.deptno=30;   

예제 3,4 커미션을 받는 사원의 이름, 커미션, 부서명, 위치 출력 SQL> SELECT e.ename, e.comm, d.dname, d.loc    2  FROM   emp e, dept d    3  WHERE e.deptno = d.deptno 4  and e.comm is not null and e.comm > 0;  and NVL(e.comm, 0) > 0 달라스에서 근무하는 사원의 이름, 직급, 부서번호, 부서이름 출력 SQL> SELECT e.ename, e.job, e.deptno, d.dname    2  FROM   emp e, dept d    3  WHERE e.deptno = d.deptno 4 and d.loc=‘DALLAS’;   

예제 5, 6 이름에 ‘A’들어가는 사원의 이름, 부서이름 출력 SQL> SELECT e.ename, d.dname    2  FROM  emp e, dept d    3  WHERE e.deptno = d.deptno 4 and e.ename like ‘%A%’;    사원이름과 직급, 급여, 호봉 출력 SQL> SELECT e.ename, e.job, e.sal, s.grade   2  FROM emp e, salgrade s   3  WHERE e.sal BETWEEN s.losal AND s.hisal;

예제 7 사원명, 부서번호, 해당사원과 같은 부서에서 근무하는 사원 출력 SQL> SELECT e.ename“자신’,e.deptno, c.ename“동료”, c.deptno    2  FROM   emp e, emp c    3  WHERE e.ename <> c.ename 4 and e.deptno=c.deptno 5 ORDER BY e.ename;