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