2.6 DQL consulta de unión

En primer lugar, el significado de

Cuando la consulta se refiere al campo de varias tablas, se requiere el uso de múltiples uniones de tablas

Seleccione el campo 1, campo 2

de la Tabla 1, Tabla 2, ...;

 

producto cartesiano : Cuando una pluralidad de tablas de consultas, sin añadir unas condiciones de conexión eficaces, lo que resulta en una pluralidad de filas para conseguir la lista completa de todas las conexiones
¿Cómo resolver : Añadir las condiciones de conexión válidos
 
 
 
 

En segundo lugar, la clasificación

 
Por Año:
    SQL92 :
  •                equivalente
  •                Nonequijoins
  •                Dado que la conexión
 
         También es compatible con una parte de conexión exterior (para Oracle, SQLServer, MySQL no es compatible)
 
    SQL99: [recomendado]
          en
  •                equivalente
  •                Nonequijoins
  •                Dado que la conexión
          Combinación externa
  •                izquierda exterior
  •                justo fuera
  •                externa completa (MySQL no soporta)
          De conexión cruzada
               
 
 
 
 

Tres, la sintaxis SQL92

1, la conexión equivalente

sintaxis:
   consulta de selección lista
   Alias ​​de la Tabla 1, Tabla 2 alias
   donde la tabla 1.Key = 2.key Tabla
   [y] Filtros
   [Field] grupo por grupo
   [Tener] cribado agrupados
   [Orden de campo de clasificación]
 
características:
   ① tabla general de apellido
   ② puede cambiar el orden de multi-mesa
   Tabla ③n conectar al menos n-1 las conexiones necesarias condiciones
   ④ Resultados Equijoins es la intersección de una mesa de partes múltiples
 
 

2, la conexión no equivalente

sintaxis:
   consulta de selección lista
   Alias ​​de la Tabla 1, Tabla 2 alias
   donde no conexión condición equivalente
   [y] Filtros
   [Field] grupo por grupo
   [Tener] cribado agrupados
   [Orden de campo de clasificación]

3, ya que la conexión

 
sintaxis:
    consulta de selección lista
   de un alias de la tabla, alias Tabla 2
   donde la condición de conexión equivalente
   [y] Filtros
   [Field] grupo por grupo
   [Tener] cribado agrupados
   [Orden de campo de clasificación]
 
 

Cuatro, la sintaxis SQL99

1, el conector

sintaxis:
consulta de selección lista
de la Tabla 1 alias
[Interno] en la Tabla 2 se unen a alias en la condición de conexión
donde los filtros
grupo de la lista de grupos
Después de tener grupo de cribado
Para clasificar la lista
limitar cláusula;
 
características:
① el orden puede ser Tabla inversa
② Los resultados de varias tablas vinculadas intersección =
③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 别名;
 
特点:
类似于笛卡尔乘积
 
 
 
 
 

Supongo que te gusta

Origin www.cnblogs.com/huabro/p/12624209.html
Recomendado
Clasificación