当前位置:网站首页 > 技术博客 > 正文

数据库外连接和内连接的区别



大家好,又见面了,我是你们的朋友全栈君。

1. 自然连接(*natural join)*

自然连接不用指定连接列,也不能使用ON语句,它默认比较两张表里相同的列,

显示结果如下:

2. 内连接(inner join和自然连接区别之处在于内连接可以自定义两张表的不同列字段。 内连接有两种形式:显式和隐式。 例:以下语句执行结果相同。

①隐式的内连接,没有INNER JOIN,形成的中间表为两个表的笛卡尔积。

namecodecodecode

② 显示的内连接,一般称为内连接,有INNER JOIN,形成的中间表为两个表经过ON条件过滤后的笛卡尔积。

namecodecodecode

3.外连接(outer join) ①左外连接(left outer join):返回指定左表的全部行+右表对应的行,如果左表中在右表中没有与其相匹配的行,则在查询结果集中显示为空值。 例:namecodecodecode 查询结果如下:

②右外连接(right outer join):与左外连接类似,是左外连接的反向连接。

namecodecodecode

②全外连接(full outer join):把左右两表进行自然连接,左表在右表没有的显示NULL,右表在左表没有的显示NULL。(MYSQL不支持全外连接,适用于Oracle和DB2。)

在MySQL中,可通过求左外连接与右外连接的合集来实现全外连接。 例:

namecode codecodenamecode codecode

4.交叉连接(cross join:相当与笛卡尔积,左表和右表组合。 SELECT student.,score. FROM student CROSS JOIN score ON score.=student.;

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/178803.html原文链接:https://javaforall.cn

版权声明


相关文章:

  • 深度信念网络和神经网络2024-12-03 13:29:59
  • linux中cp指令2024-12-03 13:29:59
  • 红黑树和b树和b+树的区别2024-12-03 13:29:59
  • rsa加密规则2024-12-03 13:29:59
  • java内存模型是什么2024-12-03 13:29:59
  • cas单点登录实现2024-12-03 13:29:59
  • 多目标优化算法(一)nsga-ⅱ(nsga2)2024-12-03 13:29:59
  • ftp传书2024-12-03 13:29:59
  • csdn app积分在哪里看2024-12-03 13:29:59
  • verilog条件编译范例2024-12-03 13:29:59