[SQL 23.07.11] Join, Subquery, Union

홍선우·2023년 7월 11일
  1. 아래를 설명하시오.
  • CARTESIAN PRODUCT

    두개 이상의 테이블이 조인될 때 WHERE절에 공동되는 컬럼에 의한 조인이 발생되지 않아 모든 데이터가 검색 결과로 나타나는 경우이다.
    그래서 데이블에 존재하는 모든 데이터가 검색 결과로 나타난다.

  • EQUI JOIN

    조인 대상이 되는 두 테이블에서 공통적으로 존재하는 컬럼의 값이 일치되는 행을 연결하여 결과를 생성하는 조인 기법이다.

  • NON-EQUI JOIN(비등가 조인)

    동일 컬럼이 없이 다른 조건을 사용하여 조인 할 떄 쓰인다.

  • SELF JOIN

    자기 자신과 조인을 하는 기법이다.
    조인은 서로 다른 두 개의 테이블을 연결하기도 하지만 하나의 테이블 내에서 조인을 해야만 자료를 얻을 수 있는 경우에 쓰인다.

  • OUTER JOIN

    조인 조건에 만족하지 않는 행도 나타내는 조인 기법이다.
    2개 이상의 테이블이 조인될 때, 어느 한쪽의 테이블에는 해당하는 데이터가 존재하는데 다른 쪽 테이블에는 데이터가 존재하지 않는 경우 그 데이터가 출력되지 않는 문제를 해결하기 위해서 사용되는 조인기법이다.

  • union

    두 개의 테이블에 있는 컬럼을 합집합하는 방법이다.

  • inner join

    ANCI Join 기법으로, 두 테이블에서 공통된 값을 가진 열을 기준으로 매칭시킨다.


  1. 아래의 쿼리를 완성하시오.
  • 이름이 SMITH인 사람의 부서명을 출력해 보는 쿼리문

    select ename, dname from emp, dept where emp.deptno = dept.deptno and emp.ename = 'SMITH';

  • 각 사원의 급여가 몇 등급인지 살펴보는 쿼리문

    select * from emp, salgrade, dept where dept.deptno = emp.deptno and sal between losal and hisal order by ename;

  • EMP테이블을 EMPLOTEE와 MANAGER로 별칭을 지정한 후 특정 사원의 매니저가 누구인지 알아내는 쿼리문

    select e.ename ||'의 매니저는 '|| m.ename || '입니다' from emp e, emp m where e.mgr = m.empno order by e.ename;


0개의 댓글