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

SQL left join



SQL中 JOIN 的两种连接类型:内连接(自然连接、自连接、交叉连接)、外连接(左外连接、右外连接、全外连接)

学生表

 
  

成绩表

 
  

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

 
  

显示结果如下:

 
  

–自然连接 natural join
自动判断连接条件完成连接.
–自然内连接 natural inner join
select *|字段列表 from 左表 natural [inner] join 右表;
自然内连接其实就是内连接,这里的匹配条件是由系统自动指定.



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

 
  

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

 
  

例:以下1)、2)语句执行结果相同。

 
  

拓展

自连接(内连接)
 
  

问题:查询显示成绩小于小明的学生和成绩?
当表中的某一个字段与这个表中另外字段的相关时,我们可能用到 自连接

 
  
数据库中自然连接与内连接的区别:

1、自然连接一定是内连接,内连接不一定是自然连接;
2、内连接不把重复的属性除去,自然连接要把重复的属性除去;
3、内连接要求相等的分量,不一定是公共属性,自然连接要求相等的分量必须是公共属性;
4、内连接不把重复的属性除去,自然连接要把重复的属性除去。


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

例:

 
  

查询结果如下:

 
  

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

 
  
 
  

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

 
  
 
  
 
  
 
  

自然连接、内连接、外连接(左外连接、右外连接、全外连接)、交叉连接
百科自连接
数据库中自然连接与内连接的区别
MySQL数据库的46种基本语法
MySQL 自连接讲解



版权声明


相关文章:

  • 软件测试面试知识2025-06-12 12:01:02
  • 函数可以在主函数里面声明么2025-06-12 12:01:02
  • java虚拟机基础教程2025-06-12 12:01:02
  • sscom v5.12.1使用说明2025-06-12 12:01:02
  • vscode中matplot插件2025-06-12 12:01:02
  • java多线程有几种实现方法实战2025-06-12 12:01:02
  • class1和class2区别2025-06-12 12:01:02
  • java中构造器和构造方法2025-06-12 12:01:02
  • linux 查看系统版本信息2025-06-12 12:01:02
  • 驼峰命名的规则2025-06-12 12:01:02