2.6 DQL 쿼리에 가입

첫째,의 의미

쿼리는 여러 테이블의 분야에 관한하면 멀티 테이블의 사용이 조인 필요

필드 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 别名;
 
特点:
类似于笛卡尔乘积
 
 
 
 
 

추천

출처www.cnblogs.com/huabro/p/12624209.html