첫째,의 의미
쿼리는 여러 테이블의 분야에 관한하면 멀티 테이블의 사용이 조인 필요
필드 1, 필드 2를 선택
표 1, 표 2로부터, ...;
데카르트 제품
: 행의 복수의 결과로, 효과적인 연결 조건을 추가하지 않고 쿼리 테이블의 복수, 모든 연결의 전체 목록을 달성하기 위해
해결 방법
: 유효한 연결 조건 추가
둘째, 분류
연도 별 :
SQL92
:
- 동등한
- Nonequijoins
- 연결 이후
또한 (오라클, SQLSERVER, MySQL이 지원되지 않음) 외부 접속부를 지원
SQL99 :
[추천]
욕실
- 동등한
- Nonequijoins
- 연결 이후
외부 조인
- 왼쪽의 외부
- 오른쪽 외부
- 전체 외부 (MySQL은 지원하지 않음)
교차 연결
세, SQL92 구문
1 등가 연결
구문 :
쿼리 목록을 선택
표 1에서 별칭 표 2 별명
where 표 1.key = 표 2.key
[그리고] 필터
[필드] 그룹마다
[데] 그룹화 한 선별
[정렬 필드로 주문]
특징 :
① 일반 테이블 별명으로
② 멀티 테이블의 순서를 변경할 수
적어도 N-1 연결 접속 ③n 표 조건을 필요
④는 결 합은 여러 부분으로 테이블의 교차로 결과
제 2 비 연결 당량
구문 :
쿼리 목록을 선택
표 1에서 별칭 표 2 별명
여기서, 비 접속 상태에 상당
[그리고] 필터
[필드] 그룹마다
[데] 그룹화 한 선별
[정렬 필드로 주문]
3 연결 보낸
구문 :
쿼리 목록을 선택
테이블 별칭, 별명 표 2에서
여기서, 접속 조건 당량
[그리고] 필터
[필드] 그룹마다
[데] 그룹화 한 선별
[정렬 필드로 주문]
네, SQL99 구문
1 커넥터
구문 :
쿼리 목록을 선택
표 1 별칭에서
[이너 표 2는 접속 상태에 별명 합류
여기서 필터
그룹 목록으로 그룹
스크리닝기를 갖는 후
목록을 정렬하여 순서
절을 제한;
특징 :
① 순서는 역전 될 수 도표
② 여러 테이블의 결과는 연결된 교차로 =
③n表连接至少需要n-1个连接条件
分类:
等值连接
非等值连接
自连接
2、外连接
语法:
select 查询列表
from 表1 别名
left|right|full【outer】 join 表2 别名 on 连接条件
where 筛选条件
group by 分组列表
having 分组后的筛选
order by 排序列表
limit 子句;
特点:
①查询的结果=主表中所有的行,如果从表和它匹配的将显示匹配行,如果从表没有匹配的则显示null
②left join 左边的就是主表,right join 右边的就是主表
full join 两边都是主表
③一般用于查询除了交集部分的剩余的不匹配的行
3、交叉连接
语法:
select 查询列表
from 表1 别名
cross join 表2 别名;
特点:
类似于笛卡尔乘积