관계대수
테이블(릴레이션)을 처리하는 연산집합
-일반집합연산자 : 합집합, 교집합, 차집합
-순수관계연산자 : select(where) , prject(컬럼찾기), join
divide 집합을 (xy로나누면) xy를 모두가지고있는 컬럼(값) 찾음
https://velog.io/@ieed0205/%EA%B4%80%EA%B3%84%EB%8C%80%EC%88%98-SQL-LEEToday
jOIN 조인
둘 이상의 테이블을 연결해서 데이터를 검색하는 방법
단, 특정 컬럼의 연관성을 기준으로 출력
연결하려는 테이블들이 적어도 하나의 컬럼을 공유하고 있어야 한다.
이 공유하고 있는 컬럼을 PK(기본키) 또는 FK(외래키) 값으로 사용한다.
조인의 종류
조인의 문법
여러 테이블에 대한 조인 검색 ( INNER JOIN )
• 조인 검색: 여러 개의 테이블을 연결하여 데이터를 검색하는 것
• 조인 속성: 조인 검색을 위해 테이블을 연결해주는 속성
– 연결하려는 테이블 간에 조인 속성의 이름은 달라도 되지만 도메인은 같아야 함
– 일반적으로 외래키를 조인 속성으로 이용함
• FROM 절에 검색에 필요한 모든 테이블을 나열
• WHERE 절에 조인 속성의 값이 같아야 함을 의미하는 조인 조건을 제시
• 속성 이름 앞에 해당 속성이 소속된 테이블의 이름을 표시
– 같은 이름의 속성이 서로 다른 테이블에 존재할 수 있기 때문
– 예) 주문.주문고객
INNER JOIN
표준 SQL에서는 INNER JOIN과 ON 키워드를 이용해 작성하는 방법도 제공한다.
SELECT 속성_리스트
FROM 테이블1 INNER JOIN 테이블2 ON 조인조건
[WHERE 검색조건]
외부 조인검색 OUTER JOIN
조인 조건을 만족하지 않는 튜플에 대해서도 검색을 수행
OUTER JOIN 과 ON 키워드를 이용해 작성
SELECT 속성_리스트
FROM 테이블1 LEFT | RIGHT | FULL OUTER JOIN 테이블2 ON 조인조건
[WHERE 검색조건]
분류
-모든 튜플을 검색대상으로 하는 테이블이 무엇이냐에 따라 분류
-왼쪽 외부조인, 오른쪽외부조인, 완전외부조인
부속질의문을 이용한 검색
SELECT 문 안에 또 다른 SELECT 문을 포함하는 질의
상위질의문(주 질의문): 다른 SELECT 문을 포함하는 SELECT 문
부속질의문(서브 질의문): 다른 SELECT문안에 들어있는 SELECT문
- 괄호로 묶어서 작성, ORDER BY 절을 사용할수 없음
- 단일 행 부속 질의문 : 하나의 행을 결과로 반환
- 다중 행 부속 질의문 : 하나 이상의 행을 결과로 반환
부속 질의문을 먼저 수행하고 , 그 결과를 이용해 상위 질의문 수행
부속 질의문과 상위 질의문을 연결하는 연산자 필요
-단일 행 부속질의문은 비교연산자 (=,<,>,>=,<,<=) 사용가능
-다중 행 부속질의문은 비교연산자 사용불가
SQL 연습 문제제 사이트 : https://www.w3schools.com/sql/exercise.asp?filename=exercise_join1
이미지 출처 : [Join] ANSI Join & Oracle Join, Join의 종류 (tistory.com)
JOIN 설명 링크 : [Oracle] 오라클 조인 방법 쉽게 설명 (ANSI JOIN, Oracle Join) (tistory.com)
'STUDY > DB SQL' 카테고리의 다른 글
[SQL] UPDATE,DELETE와 트랜잭션 설명 (0) | 2022.07.27 |
---|---|
[SQL] SQL에서 JOIN 예제 (0) | 2022.07.26 |
[SQL] SQL 키 종류와 예제 (0) | 2022.07.25 |
[SQL] 제약조건, 연산자, ORDER·GROUP BY (0) | 2022.07.25 |
[SQL] 테이블 기본 생성과 조작 (0) | 2022.07.24 |