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

sql内连接



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 自连接讲解

版权声明


相关文章:

  • 动态规划求解01背包问题2025-05-06 16:30:00
  • 进程和线程的基本操作2025-05-06 16:30:00
  • 程序线程进程的区别2025-05-06 16:30:00
  • kvm虚拟化是哪个厂商2025-05-06 16:30:00
  • js注释有什么作用2025-05-06 16:30:00
  • 如何关闭开机自动启动的软件win102025-05-06 16:30:00
  • 积分电路rc的选取2025-05-06 16:30:00
  • js特效怎么使用方法2025-05-06 16:30:00
  • 阿里巴巴网站是如何进行搜索引擎优化的2025-05-06 16:30:00
  • java图形界面gui编程(持续更新)2025-05-06 16:30:00