Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- HTTP
- 네트워크
- React Native
- 스터디
- 깃허브 토큰 인증
- 백준 4949번
- 데이터베이스
- 백준
- 리액트 네이티브 프로젝트 생성
- 문자열
- 리액트 네이티브 시작하기
- SQL
- 자바
- 백준 4358번
- 정리
- 데베
- 머신러닝
- 딥러닝
- 모두를위한딥러닝
- 백준 5525번
- 리액트 네이티브
- 모두를 위한 딥러닝
- 깃 연동
- 모두의 네트워크
- 백준 4358 자바
- 깃 터미널 연동
- 지네릭스
- 팀플회고
- 깃허브 로그인
- 모두의네트워크
Archives
- Today
- Total
솜이의 데브로그
31-32 강 ) 집합, 테이블 결합 본문
Reference : SQL 첫걸음
31강 ) 집합 연산
1. SQL과 집합
- 데이터베이스에서는 테이블의 행이 요소에 해당한다.
- SELECT 명령을 실행하면 데이터베이스에 질의하며 그 결과 몇 개의 행이 반환된다. 이 때 반환된 결과 전체를 하나의 집합이라고 본다.
2. UNION으로 합집합 구하기
- UNION 함수를 사용해 합집합을 구할 수 있다.
-
SELECT * FROM sample71_a UNION SELECT * FROM sample71_b;
- UNION으로 두 개의 SELECT 명령을 하나로 연계해 질의 결과를 얻을 수 있다.
- 여러개의 SELECT 명령을 하나로 묶을 수 있다.
UNION을 사용할 때의 ORDER BY
- UNION으로 SELECT 명령을 결합해 합집합을 구하는 경우, 각 SELECT 명령에 ORDER BY를 지정해 정렬할 수는 없다.
- 마지막 SELECT 명령에만 지정 가능하다.
- ORDER BY 구에 지정하는 열은 별명을 붙여 이름을 일치시킨다.
UNION ALL
- UNION하는 경우, 중복값은 제거된다.
- 중복을 제거하지 않고 2개의 SELECT 명령을 그대로 합치고 싶은 경우, UNION ALL을 사용한다.
-
SELECT * FROM sample71_a UNION ALL SELECT * FROM sample71_b;
- 증복값이 없는 경우에는 UNION ALL을 사용하는 편이 좋은 성능을 보인다.
3. 교집합과 차집합
- 교집합은 INTERSECT를, 차집합은 EXCEPT 를 사용한다.
32강 ) 테이블 결합
1.곱집합과 교차결합
- 곱집합은 두개의 집합을 곱하는 연산 방법으로 '적집합' 또는 '카티전곱'이라고 한다.
교차결합(Cross Join)
SELECT * FROM sample72_x, sample72_y;
- FROM구에 복수의 테이블을 지정하면 교차결합을 한다.
UNION 연결과 결합 연결의 차이
- 결합은 열(가로)방향으로 확대된다.
2. 내부 결합
- 다른 테이블의 데이터를 참조해야하는 경우, 참조할 테이블의 기본키와 동일한 이름과 자료형으로 열을 만들어서 행을 연결하는 경우가 많다.
- FROM 구에서 테이블을 서로 결합한다.
- 교차결합으로 계산된 곱집합에서 원하는 조합을 검색하는 것을 '내부결합(Inner Join)'이라 한다.
- ex)
SELECT * FROM 상품, 재고수 WHERE 상품.상품코드 = 재고수.상품코드;
- 첫 번째 조건식의 조건을 결합 조건이라 부른다.
- ex)
3. INNER JOIN으로 내부결합하기
- FROM 구에 테이블을 복수 지정해 가로 방향으로 테이블을 결합할 수 있다.
- 교차결합을 하면 곱집합으로 계산된다.
- WHERE 조건을 지정해 곱집합에서 필요한 조합만 검색할 수 있다.
- INNER JOIN으로 두개의 테이블을 가로로 결합할 수 있다.
- INNER JOIN으로 두개의 테이블을 가로로 결합할 수 있다.
SELECT * FROM 테이블명1 INNER JOIN 테이블명2 ON 결합조건
4. 내부결합을 활용한 데이터 관리
- 외부키 : 다른 테이블의 기본키를 참조하는 열
- 자기결합(Self Join) : 테이블에 별명을 붙일 수 있는 기능을 이용해 같은 테이블끼리 결합하는 것.
- 자기 자신의 기본키를 참조하는 열을 자기 자신이 가지는 데이터 구조로 되어있을 경우 자주 사용된다.
5. 외부결합
- 어느 한 쪽에만 존재하는 데이터행을 어떻게 다룰지를 변경한다.
- LEFT JOIN, RIGHT JOIN으로 외부결합을 할 수 있다
'CS > Database' 카테고리의 다른 글
33-34강 ) 관계형 모델, DB 설계 (0) | 2021.12.21 |
---|---|
10장 ) 성능 향상(1) (0) | 2021.12.21 |
9장 ) 백업과 복구 (0) | 2021.12.21 |
28-30강 ) 인덱스, 뷰 (0) | 2021.12.05 |
8장 ) 테이블 설계(2) (0) | 2021.12.05 |