1. LISTAGG 함수
: 그룹에 속해 있는 데이터를 가로로 나열 할 때 사용
- LISTAGG([나열할 열], [각 데이터를 구분하는 구분자])
WITHIN GROUP(ORDER BY 나열할 열 기준 열 )
2. UNPIVOT 함수
: PIVOT 함수와 반대의 기능
3. 조인
: 두 개 이상의 테이블을 연결하여 하나의 테이블처럼 출려할 때 사용하는 방식
> 간단히 말하자면, 집합 연산자를 사용한 결과는 두 개 이상 SELECT문의 결과 값을 세로로 연결한 것
> 조인을 사용한 결과는 두 개 이상의 테이블 데이터를 가로로 연결한 것
- 여러 테이블을 사용할 때의 FROM 절
: 여러 개 테이블을 지정하는 것이 가능, 꼭 테이블이 아니더라도 테이블 형태, 즉 열과 행으로 구성된 데이터 집합이면 모두 FROM절에 지정가능하다. [ 뷰, 서브쿼리 등이 이에 해당 ]
4. 조인의 종류
ㄱ. 등가조인 [ Equi join ]
: 테이블을 연결한 후에 출력 행을 각 테이블의 특정 열에 일치한 데이터를 기준으로 선정
: 등가 조인은 내부 조인 또는 단순 조인이라고 부르기도 한다.
: 등가 조인은 일반적으로 가장 많이 사용하는 조인 방식
: 외부 조인과 같이 이름을 특별히 명시하지 않으면, 조인을 사용한다는 것은 대부분 등가 조인,
: 즉, 특정 열 값이 일치한 출력 결과를 사용하는 방식
ㄴ. 비등가조인 [ Non-equi join ]
: 등가 조인 외의 방식 의미
: 조인 방식에 비해 그리 자주 사용하는 방식은 아니지만 조인 조건이 특정 열의 일치 열부를 검사하는 방식 외
에 다른 방식도 사용할 수 있다.
ㄷ. 자체조인 [ Self Join ]
5. NATURAL 조인
: 등가 조인을 대신해 사용 할 수 있는 조인 방식으로 조인 대상이 되는 두 테이블에 이름과 자료형이 같은 열을 찾은
후 그 열을 기준으로 등가 조인을 해주는 방식
6. 외부조인
: 두 테이블 간 조인 수행에서 조인 기준 열의 어느 한 쪽이 NULL 이어도 강제로 출력하는 방식
7. JOIN ~ USING
: ISO/ANSI에서 관계형 데이터베이스 표준 언어에서 SQL-99방식
: 현재는 잘 사용하진 않지만, 알아둬서 나쁠 것 없다고 생각합니다.
: 조인을 대신해 사용할 수 있는 조인 방식으로 조인 대상이 되는 두 테이블에 이름과 자료형이 같은 열을 찾은 후 그 열을 기준으로 등가 조인을 해주는 방식
8. JOIN ~ ON
: 조인 방식에서는 기존 WHERE절에 있는 조인 조건식을 ON키워는 옆에 작성
: 조인 기준 조건식은 ON에 명시하고 그 밖의 출력행을 걸러 내기 위해 WHERE 조건식을 따로 사용하는 방식
9. 왼쪽 외부 조인을 SQL-99로 나타내기
10. 오른쪽 외부 조인을 SQL-99로 나타내기
11. 전체 외부조인을 SQL-99로 나타내기
9. 서브쿼리 [ Subquery ]
: SQL문을 실행하는 데 필요한 데이터를 추가로 조회하기 위해 SQL문 내부에서 사용하는 SELECT문 의미
: 서브쿼리의 결과 값을 사용하여 기능을 수행하는 영역은 메인쿼리라고 부릅니다.
- 서브 쿼리의 특징
ㄱ. 서브 쿼리는 연산자와 같은 비교 또는 조회 대상의 오른쪽에 놓이며 괄호()로 묶어서 사용
ㄴ. 특수한 몇몇 경우를 제외한 대부분의 서브쿼리에서는 ORDER BY절을 사용할 수 없습니다.
ㄷ. 서브쿼리의 SELECT 절에 명시한 열은 메인쿼리의 비교 대상과 같은 자료형과 같은 개수로 지정해야합니다. 즉 메인쿼리의 비교대상 데이터가 하나라면 서브쿼리의 SELECT 절 역시 같은 자료형인 열을 하나 지정해야합니 다.
ㄹ. 서브쿼리에 있는 SELECT문의 결과 행 수는 함께 사용하는 메인쿼리의 연산자 종류와 호환 가능해야 한다.
- 단일형 서브쿼리
- 서브 쿼리 IN연산자
- 서브쿼리 SOME, ANY 연산자
-서브쿼리 ALL 연산자
-서브쿼리 EXISTS 연산자
- 서브 쿼리 EXISTS : FALSE 시
'Programming > Database' 카테고리의 다른 글
데이터베이스 6 (0) | 2020.06.03 |
---|---|
데이터베이스 : 중간 연습 (0) | 2020.06.02 |
데이터베이스4 (0) | 2020.06.01 |
데이터베이스3 (0) | 2020.05.29 |
데이터베이스2 (0) | 2020.05.28 |