ANSI 표준 및 JOIN개요

Hyuntae Jung·2022년 7월 25일
0

MS SQL

목록 보기
17/41
post-thumbnail

1. ANSI 표준

: SQL제시하고 있는 표준 기능을 대부분 준수하고 있고, 간편하게 사용할 수 있는 여러 기능을 포함하고 있다.

2. ANSI JOIN

: SQL JOIN 보다 더욱 간편하게 사용가능하고, 완벽환 OUTER-JOIN(외부조인)을 지원한다.

  • INNER JOIN
  • LEFT OUTER JOIN
  • RIGHT OUTER JOIN
  • FULL OUTER JOIN
  • ON

    FROM 절 다음에 INNER JOIN.. 키워드를 사용하고, 콤마(,)를 사용하지 않는다

  • OUTER JOIN: JOIN 조건에 해당되지 않는 행도 포함시키는 포괄적인 조인방법
  • OUTER JOIN 종류 : LEFT JOIN, RIGHT JOIN, FULL JOIN(LEFT JOIN + RIGHT JOIN)
  • LEFT JOIN : 왼쪽(FROM 절 바로 다음 첫번째)테이블이 기준이되고, 그 테이블의 모든 데이터를 가져온다. 오른쪽 테이블에서 가져올 수 없는 열은 NULL 로 표현처리하겠다.
  • RIGHT JOIN : 오른쪽 테이블이 기준이되고, 그 테이블의 모든 데이터를 가져온다. 왼쪽 테이블에서 가져올 수 없는 열은 NULL로 표현처리하겠다.
  • FULL JOIN : LEFT JOIN + RIGHT JOIN

3. ANSI JOIN 방식에서 INNER JOIN

SELECT empName, depName
  FROM employee INNER JOIN department
	  ON employee.deptNo = department.deptNo;

SELECT empName, depName
  FROM employee INNER JOIN department
	  ON employee.deptNo = department.deptNo
WHERE empName = '김관우';

이전 시간에는 아래와 같이 쿼리를 작성하였다.

SELECT empName, depName
  FROM employee AS E, department AS D
WHERE E.deptNo = D.deptNo
  AND empName = '김관우';
SELECT E1.empName AS '사원 이름', E2.empName AS '직속 상관'
  FROM employee E1 LEFT OUTER JOIN employee E2
	  ON E1.manager = E2.empNo;

4. LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN

SELECT *
FROM DEPT01 LEFT OUTER JOIN DEPT02
ON DEPT01.DEPTNO = DEPT02.DEPTNO;

SELECT *
FROM DEPT01 RIGHT OUTER JOIN DEPT02
ON DEPT01.DEPTNO = DEPT02.DEPTNO;

SELECT * 
FROM DEPT01 FULL OUTER JOIN DEPT02
ON DEPT01.DEPTNO = DEPT02.DEPTNO;

5. UNION

: 두개의 쿼리 결과를 하나의 결과 집합으로 만드는 것(중복되는 행없이 결과 집합을 만든다)

UNION 문을 사용할 수 있는 조건
: 열의 개수가 같고, 열의 형식도 같아야한다. 첫번째 SELECT절에는 열 이름이 반드시 존재해야한다.

6. UNION ALL

: 두개의 결과 중에 같은 내용이 있다하더라도 중복을 허용한다.

강의: ms sql 2014 제대로 배우기 1

0개의 댓글