首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >自然连接和内连接的区别

自然连接和内连接的区别
EN

Stack Overflow用户
提问于 2012-01-02 07:45:59
回答 7查看 303.2K关注 0票数 226

自然连接和内连接之间的区别是什么?

EN

回答 7

Stack Overflow用户

发布于 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)
票数 28
EN

Stack Overflow用户

发布于 2012-11-12 00:32:41

Natural Join:两个表中所有列的组合或组合结果。它将返回第一个表相对于第二个表的所有行。

Inner Join:除非两个表中的任何列名都是sxame,否则此连接将起作用

票数 2
EN

Stack Overflow用户

发布于 2015-06-15 19:29:15

自然连接是指在所有公共列的基础上连接两个表。

公共列:在两个表中具有相同名称的列,并且在两个表中具有兼容的数据类型。只能使用=运算符

内连接是指两个表基于on子句中提到的公共列进行连接。

公共列:在两个表中具有兼容的数据类型,但不需要具有相同名称的列。只能使用任何比较运算符,如=<=>=<><>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8696383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档