sql中join的几种常见用法总结

2025-02-08 16:14:03
推荐回答(2个)
回答1:

JOIN连接组合两个表中的字段记录,包括三种:  
INNER JOIN运算式:连接组合两个表中的字段记录。 
 
LEFT JOIN运算式:连接组合两个表中的字段记录,并将包含了LEFT JOIN左边表中的全部记录。 
 
RIGHT JOIN运算式:连接组合两个表中的字段记录,并将包含了RIGHT JOIN右边表中的全部记录。 
 
 
INNER JOIN设定两个表相关连的运算式,以连接组合两个表中的字段记录。 
 
INNER JOIN语法如下: 
 
FROM 表1 INNER JOIN 表2 ON 表1.字段1 比较运算子 表2.字段2 
 
两个表连接的字段,譬如 [表1.字段1=表2.字段2],必须具有相同的字段类型,但是字段名称不需要相同。 
 
例如,自动编号字段类型可以连接Long 的字段类型,但是单精整数字段类型不能连接双精整数的字段类型。 
 
比较运算子可为=、<、>、<=、>=、或<>。 
 
JOIN连接的字段,不可以包含MEMO字段类型或OLE对象类型,否则会发生错误。 
 
在一个JOIN表达式中,可以连结多个ON子句: 
 
SELECT fields 
FROM 表1 INNER JOIN 表2 
ON 表1.字段1 比较运算子 表2.字段1 AND 
ON 表1.字段2 比较运算子 表2.字段2) OR 
ON 表1.字段3 比较运算子 表2.字段3) 
 
JOIN表达式中,可以为巢状式: 
 
SELECT fields 
FROM 表1 INNER JOIN 
(表2 INNER JOIN [( ]表3 
[INNER JOIN [( ] 表x [INNER JOIN ...)] 
ON 表3.字段3 比较运算子 表x.字段x)] 
ON 表2.字段2 比较运算子 表3.字段3) 
ON 表1.字段1 比较运算子 表2.字段2 
 
在一个INNER JOIN中,可以包括巢状式的LEFT JOIN或RIGHT JOIN,但是在一个LEFT JOIN或RIGHT JOIN中不能包括巢状式的INNER JOIN。

回答2:

春宫曲(王昌龄)