기본 미션
🐯 Chapter 04 p. 195 - 확인문제 4번 풀고 인증샷
이번에도 확인문제 총 5개중 4번을 풀고 인증샷을 올리는 것이 미션이지만 SQL짱이 되기 위해서 모든 풀이를 인증 하려고 한다. 히히히히...
1. 두 테이블이 일대다의 관계로 연결하기 위한 관계의 전제 조건으로 적절한 것을 고르세요.
① 기본 키 - 기본 키 관계 ② 외래 키 - 외래 키 관계 ③ 기본 키 - 외래 키 관계 ④ 외래 키 - 기본 키 관계
일대 다 관계(ONE TO MANY)란 한쪽 테이블에는 하나의 값만, 다른 쪽 테이블에는 여러개의 값이 존재할 수 있는 관계를 말한다.
(예시) 회원 테이블의 회원 정보 중 회원 아이디(PRIMARY KEY, PK)와 상품 구매 테이블의 회원 아이디(FOREIGN KEY, FK)가 일치하는 여러 행들과 조인 할 수 있다.
=> 다른 말로 'PK-FK'관계라고 한다.
2. 다음 설명은 어떤 조인에 대한 내용인지 보기에서 각각 고르세요.
①가장 많이 사용되는 조인으로, 일반적으로 부르는 조인이다. ⓒ
② 한쪽 테이블에만 데이터가 있어도 결과가 나오는 조인이다. ⓑ
③ 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인시킨다. ⓓ
④ 한 개의 테이블이 자신과 조인되는 것을 말한다. ⓐ
ⓐ 자체 조인
ⓑ 상호 조인
ⓒ 내부 조인
ⓓ 외부 조인
- 내부 조인 INNER JOIN - 두 테이블을 연결할 때 가장 많이 사용된다 그냥 JOIN으로 표현한다. PK의 값과 동일한 FK의 값을 찾아 두개의 행을 결합 한다. 두 테이블에 모두 정보값이 있을경우 결합하는 방식 (공통분모)
- 외부 조인 OUTER JOIN - 한쪽의 테이블에만 데이터가 있어도 결과가 나온다.
- A_table <LEFT | RIGHT | FULL> OUTER JOIN B_table 과같이 사용된다.
- LEFT OUTER JOIN: 왼쪽 테이블을 기준으로 왼쪽 테이블의 내용은 모두 출력되어야 한다. (LEFT JOIN)
- RIGHT OUTER JOIN: 오른쪽 테이블을 기준으로 오른쪽 테이블의 내용은 모두 출력되어야 한다. (RIGHT JOIN)
- 왼쪽 오른쪽의 기준은 보이는 그대로의 테이블
- FULL OUTER JOIN : LEFT JOIN + RIGHT JOIN 이라고 생각하면 된다 양쪽중 어느 한쪽이라도 들어있는 내용이면 출력. 자주 사용하지 않는다.
- 상호 조인 CROSS JOIN - 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인시키는 기능.
- 상호 조인 결과의 전체 행 개수 = 두테이블의 각 행의 개수를 곱한 개수 (카티션 곱 Cartesian product)
- ON 구문을 사용하지 않는다.
- 결과의 내용은 의미가 없다, 랜덤으로 조인 하기 때문
- 이건 대체 언제쓸까? 주로 테스트 하기 위해 대용량의 데이터를 생성할때....
SELECT * FROM buy
CROSS JOIN member;
- 자체 조인 SELF JOIN - 자신이 자신과 조인한다는것. 따라서 자체 조인은 1개의 테이블을 사용한다.
- 일반적으로 사용하지 않는다
- 대표적인 사례로 회사의 조직 관계와 같다
- 같은 테이블에 별칭을 따로 주어 서로 다른 테이블인것 처럼 사용한다.
- 하나의 테이블에 같은 데이터가 있지만 2개 이상의 열로 존재할 때 자체 조인을 할 수 있다.
3. 외부 조인의 종류가 아닌것을 1개 고르세요.
① LEFT OUTER JOIN
② RIGHT OUTER JOIN
③ CENTER OUTER JOIN
④ FULL OUTER JOIN
4. 다음 SQL은 회원으로 가입만 한, 한번도 구매한 적이 없는 회원의 목록입니다. 빈칸에 들어갈 가장 적합한 것을 고르세요.
SELECT DISTINCT M.mem_id, B.prod_name, M.mem_name, M.addr FROM member M
LEFT OUTER JOIN buy B
ON M.mem_id = B.mem_id
______________________
ORDER BY M.mem_id
WHERE B.prod_name IS NULL
5. 다음 빈칸에 들어갈 용어를 보기에서 고르세요. [내부 조인, 외부 조인, 상호 조인, 자체 조인]
_____①_____ 은 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인 시키는 기능을 말합니다. 그래서 상호 조인 결과의 개수는 두 테이블 개수를 곱한 개수가 됩니다. _____②_____ 은 자신이 자신과 조인 된다는 의미 입니다. 그래서 자체 조인은 1개의 테이블을 사용합니다.
① 상호 조인
② 자체 조인
추가 미션
🐱 p. 183 - [좀 더 알아보기] 손코딩 실행하고 결과화면 인증샷
'SQL > 혼공학습단 8기 - SQL' 카테고리의 다른 글
week5 - 인덱스의 개념과 종류 및 작동 원리와 구조를 이해 (0) | 2022.08.14 |
---|---|
week4 - 테이블 만들기 CREATE, DROP, 가상의 테이블 view (0) | 2022.08.02 |
Week2 - 기본 문법 및 테이블 입력 및 수정 (0) | 2022.07.13 |
week1 - 테이블 생성 및 기본 추출 쿼리문 작성, 데이터베이스 개체 설명 (0) | 2022.07.10 |
[혼공단8기] 혼공SQL로 시작하기 (0) | 2022.06.30 |