内连接分为相等连接、自然连接、不相等连接,每种内连接均使用 inner join,如果不是使用 inner join 而是使用 from A, B where A.id=B.id 这种形式也是对的,这是 where 子句中唯一一种 SQL-92 支持的连接类型,该形式被称为旧式内连接。
相等连接(等值连接、相等联接、等值联接)
如果内连接中,ON 条件为“等于”判断条件,则称为相等连接,比如:
自然连接(自然联接)
考察相等连接中的示例,docs 的 authorId 和 authors 中的 authorId 均出现在结果列中,且每一条结果记录中他们总是相等,如果去掉重复的列,就成为自然连接。
不相等连接(不相等联接)
相对于相等连接,这里使用的不是等号运算符,而是 >、>=、<> 等运算符。