DATABASE join, union, subquery (230711)

이원건·2023년 7월 11일
0

DATABASE

목록 보기
4/6
post-thumbnail

1. 아래를 설명하시오.

  • CARTESIAN PRODUCT

존재하는 원소를 하나씩 곱한 것
모든 경우의 수를 나타낸 것

  • EQUI JOIN

테이블 join 시, 동등한 조건을 가지고 있는 컬럼들을 기준으로 하는 join 방식

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

테이블 join 시, 부등호나 비교 연산자 등을 사용하는 join 방식

  • SELF JOIN

자기 자신 테이블과의 join을 하는 것

  • OUTER JOIN

테이블 간에 일치하는 행 뿐만 아니라, 조인 조건을 만족하지 못하는 행들도 반환

  • union

집합에서 합집합의 관계이다. 테이블에서 가져온 자료 두 개를 중복을 제거하고 보여준다. union all 키워드를 사용하면 중복도 함께 보여준다.

  • inner join

두 테이블 간에 일치하는 행만을 반환. 즉, 조인 조건을 충족하는 행들을 선택하여 결과를 반환


2. 아래의 쿼리를 완성하시오.

  1. 이름이 SMITH인 사람의 부서명을 출력해 보는 쿼리문

    • 쿼리문
    select ename, dname from emp, dept where emp.deptno = dept.deptno and emp.ename = 'SMITH';
    • 실행 결과
    ENAMEDNAME
    1SMITHRESEARCH
  1. 각 사원의 급여가 몇 등급인지 살펴보는 쿼리문

    • 쿼리문
    select ename, grade from emp, salgrade where emp.sal between losal and hisal order by empno;
    • 실행 결과
    ENAMEGRADE
    1SMITH1
    2ALLEN3
    3WARD2
    4JONES4
    5MARTIN2
    6BLAKE4
    7CLARK4
    8KING5
    9TURNER3
    10JAMES1
    11FORD4
    12MILLER2
  2. EMP테이블을 EMPLOYEE와 MANAGER로 별칭을 지정한 후 특정 사원의 매니저가 누구인지 알아내는 쿼리문

    • 쿼리문
    select employee.empno, employee.ename, employee.mgr as mgrno, manager.ename as manager from emp employee, emp manager where employee.mgr = manager.empno order by employee.empno;	
    • 실행 결과
    17369SMITH7902
    27499ALLEN7698
    37521WARD7698
    47566JONES7839
    57654MARTIN7698
    67698BLAKE7839
    77782CLARK7839
    87844TURNER7698
    97900JAMES7698
    107902FORD7566
    117934MILLER7782

0개의 댓글