JOIN이라는 것을 이용하면, 하나 이상의 Table에서 정확하게 말하면 최대 한꺼번에 32개의 Table에서 Data를 반환할 수 있습니다.

 

1. 조인 개요

합집합,교지합,차집합,여집합

 

2. INNER JOIN

INNER JOIN은 Join의 조건으로 기술된 Column들을 비교하여, 그 조건을 만족하는 Row들만을 반환하게 됩니다. 

 

3.OUTER JOIN

이렇게 INNER JOIN이 기술된 조건을 모두 만족하는 Data만을 반환하는 JOIN이라면, , 기준이 되는 Table이 양쪽 모두라면, OUTER JOIN의 경우에는 어느 한 쪽의 Table이 기준이 되어 기준이 되는 Table에서는 모든 Data를 반환하고, 기준이 되지 않는 쪽의 Table에서는 조건을 만족하는 Data를 반환하게 되는 JOIN을 말합니다.

 

4. CROSS JOIN

다음은 Cross Join입니다. Cross Join Join이 이루어지는 Table의 모든 Row들의 집합을 반환하는 Join입니다

 

3. SELF JOIN

다음은 Self Join입니다. Self Join은 말 그대로 자기 자신을 대상으로 Join을 한다는 것입니다.

 

4. UNION

SELECT구문에 의해서 반환되는 하나 이상의 결과집합을 하나의 결과집합으로 묶어서 반환하는 기능을 제공합니다.

 

서브 쿼리(Subquery)

Subquery, 즉 부질의 또는 중첩질의(nested query) SELECT, INSERT, UPDATE, DELETE문의 안에 중첩되어 사용되어지는 SELECT문을 말합니다. 즉 하나의 문장으로 문제를 해결하기 위해서, 복잡한 질의문을 여러 개의 논리적인 단계로 나누는 것을 말합니다.

 

 

우선 서브 쿼리는 반드시 괄호로 묶여져서 사용되어져야만 합니다

또한 서브 쿼리안에 다시 서브 쿼리가 올 수도 있습니다. , 서브 쿼리의 서브 쿼리가 가능하다는 것입니다. 이런 서브 쿼리의 반복적인 사용은 메모리가 허용하는 한 무제한으로 사용을 할 수 있습니다

Text image Data Type에 대해서는 서브 쿼리의 결과로 사용을 할 수 없습니다.

간단한 예를 살펴보도록 하겠습니다.



기본적인 서브 쿼리 #1

여기서 고객번호를 반환하는 서브 쿼리를 inner query라고 하며, 서브 쿼리에 의해서 반환된 고객번호를 조건문으로 사용하는 SELECT문을 outer query라고 합니다.

수행되는 순서 역시, inner query가 먼저 실행되고 나서, outer query가 수행됩니다

 

 

2. Returning a Single Value


Subquery의 예제 #1 - WHERE

 

 

3. Returning a List of Values

 Inner query에 의한 결과값이 하나 이상인 경우에도 문장은 결과값이 하나인 경우와 비슷합니다. 다만 비교연산자 대신 IN, ANY, SOME, ALL 등의 연산자 구문을 사용하여 하나 이상의 결과 집합과 비교하는 것 만이 다를 뿐입니다.

In Keyword를 이용한 Subquery

 

먼저 SELECT문장을 보시면 DISTINCT라는 Keyword가 있습니다. 이는 반환되는 Row중에서 중복되는 값이 있는 경우에는 하나의 Row만을 반환하겠다는 것을 뜻합니다.

주의 깊게 보셔야 하는 부분이 WHERE절입니다.

WHERE절을 보시면 테이프일련번호의 조건으로 inner query를 삼고 있는데요. IN Keyword가 있습니다.

이는 outer query에 의해서 반환된 결과집합에서 테이프일련번호가 inner query에 의해서 반환된 일련의 집합에 존재하는지 그렇지 않은 지를 검사한 후 그런 경우에는 반환하는 Row에 대한 제약조건을 정하는 비교연산자입니다.

 

4. 상관관계 부질의

상관관계 부질의의 예

 

5. EXISTS / NOT EXISTS의 사용

 

 

1. Domain Aggregation Functions (집합함수)

행집합(Rowset) 함수

Transact-SQL 문에서 테이블 참조 대신 사용할 수 있는 개체를 반환하는 함수입니다.

집계(Aggregation) 함수

값 집합에 대한 계산을 수행하고 단일 값을 반환합니다. COUNT를 제외한 집계 함수는 Null 값을 무시합니다. 집계 함수는 SELECT 문의 GROUP BY 절과 함께 사용하는 경우가 많습니다.

스칼라(Scalar)함수

단일 값에 대해 작동하며 단일 값을 반환합니다. 스칼라 함수는 식이 유효한 경우 언제든지 사용할 수 있습니다.

집계함수는 다음의 표와 같이 크게 7가지로 나눌 수 있습니다.

함 수

내 용

AVG

수치 표현에 대한 평균값

COUNT

표현식에 대한 값의 수

MAX

표현식에서의 최대값

MIN

표현식에서의 최소값

SUM

수치표현식의 총계

STDEV/STDEVP

표준편차

VAR/VARP

분산

 

Rollup/Cube

 

1. Using the GROUP BY Clause with the ROLLUP Operator

 

예제를 보시면, 임대정보 Table로부터 고객별, 지급수단별로 평균총계를 반환하는 GROUP BY문장입니다.

 

 

ROLLUP의 예제 #1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


'RDBMS(mysql,mssql)' 카테고리의 다른 글

[MSSQL] 10.트랜잭션(Transaction)  (0) 2018.08.01
[MSSQL] 9.함수(Built-in Funtctions)  (0) 2018.08.01
[MSSQL] 7.Data 무결성 (Integrity)  (0) 2018.08.01
[MSSQL] 6.Table  (0) 2018.08.01
[MSSQL] 5.Database 구성요소  (0) 2018.07.30

+ Recent posts