何时使用SQL自然连接而不是join .. on?

Nik*_*ntz 6 sql

我正在学习数据库考试的SQL,我看到SQL的方式就是它在这个页面上看起来的样子:

http://en.wikipedia.org/wiki/Star_schema IE join编写了方式Join <table name> On <table attribute>,然后选择了连接条件.然而,我的课程书和我从学术机构给我的练习,在他们的例子中只使用了自然的联接.那么什么时候使用自然连接呢?如果查询也可以使用JOIN ... ON编写,是否应该使用自然连接?

感谢您的任何回答或评论

Sau*_*ory 10

自然连接将在两个表中找到具有相同名称的列,并在结果中为找到的每个对添加一列.内部联接允许您使用任何列指定要进行的比较.


bal*_*ldy 6

IMO,JOIN ON语法比自然连接语法更具可读性和可维护性.自然联合是一些旧标准的遗留物,我试图像瘟疫一样避免它.

  • 除了可读性之外,自然连接还有很多问题.例如,如果您更改其中一个表,则可能会破坏查询. (2认同)