自然连接和内连接之间的区别是什么?
发布于 2012-01-02 07:50:18
自然连接只是避免键入的一种快捷方式,假定连接很简单,并且匹配同名的字段。
SELECT
*
FROM
table1
NATURAL JOIN
table2
-- implicitly uses `room_number` to join
等同于...
SELECT
*
FROM
table1
INNER JOIN
table2
ON table1.room_number = table2.room_number
然而,对于快捷方式格式,您不能做的是更复杂的连接...
SELECT
*
FROM
table1
INNER JOIN
table2
ON (table1.room_number = table2.room_number)
OR (table1.room_number IS NULL AND table2.room_number IS NULL)
发布于 2012-11-12 00:32:41
Natural Join:两个表中所有列的组合或组合结果。它将返回第一个表相对于第二个表的所有行。
Inner Join:除非两个表中的任何列名都是sxame,否则此连接将起作用
发布于 2015-06-15 19:29:15
自然连接是指在所有公共列的基础上连接两个表。
公共列:在两个表中具有相同名称的列,并且在两个表中具有兼容的数据类型。只能使用=运算符
内连接是指两个表基于on子句中提到的公共列进行连接。
公共列:在两个表中具有兼容的数据类型,但不需要具有相同名称的列。只能使用任何比较运算符,如=
、<=
、>=
、<
、>
、<>
https://stackoverflow.com/questions/8696383
复制相似问题