首页 > 数据库 >数据库-连接(自然连接,内连接,外连接)知识点回顾

数据库-连接(自然连接,内连接,外连接)知识点回顾

时间:2022-08-26 16:33:31浏览次数:72  
标签:知识点 join 数据库 连接 student id teacher select

1、自然连接(natural join)

自然连接是一种特殊的等值连接,他要求两个关系表中进行连接的必须是相同的属性列(名字相同),无须添加连接条件,并且在结果中消除重复的属性列。

 

 

 

 

 

 

 

 

 

 

 

 

 

select * from student NATURAL join teacher;

 

 

 

 

 

 

结果:重复的列只显示一个

2、内连接

和自然连接区别之处在于内连接可以自定义两张表的不同列字段。注意id(1)字段

内连接有两种形式:显式和隐式。

例:以下语句执行结果相同。

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

select * from student a,teacher b where a.id = b.id;

结果:

 

 

 

 

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

select * from student a inner join teacher b on a.id = b.id;

结果:

 

 

 

 

3、外连接

3.1、左外连接(left join on)

说明:以第一个关系(左表)为主,在第二个关系(右表)中找到满足条件的元素,并把他们连接起来,如果没有对应的元素,则在相应位置上的值为null

select * from student a left join teacher b on a.id = b.id;

结果:

 

   

3.2、右外连接(right join on)

说明:以第一个关系(左表)为主,在第二个关系(右表)中找到满足条件的元素,并把他们连接起来,如果没有对应的元素,则在相应位置上的值为null

select * from teacher a right join student b on a.id = b.id;

结果:

 

 

 

3.3、全外连接(full join)

全外连接是左外连接和右外连接的组合。简单说就是将左外连接和右外连接同时做多一次。做在mysql中没有全连接运算,但是根据全连接的定义,我们可以写成左外连接和右外连接组合起来

select * from student a left join teacher b on a.id = b.id UNION

select * from student a right join teacher b on a.id = b.id;

 

结果:

 

 

引用:https://blog.csdn.net/qq_41755706/article/details/109166883

标签:知识点,join,数据库,连接,student,id,teacher,select
From: https://www.cnblogs.com/zhanchenjin/p/16627952.html

相关文章

  • Derby 数据库 客户端 ij使用
     Derby数据库是由Apache下的一个开源的DB项目,与其它DB相比,它有如下的优点:  1.完全用Java实现  2.支持JDBC及SQL标准  3.全部文件只有2M左右  4.提供嵌入......
  • 如何保证数据库和缓存双写一致性
     数据库和缓存(redis)双写一致性问题,不管你用何种语言,尤其是在高并发的场景下,这个问题会很容易被放大。无论是在工作中,还是在面试中遇到这种问题的概率都非常大,因......
  • geopandas 把 shp 文件入库到 postgis 数据库
    lll={'database':"test",'user':'postgres','password':'postgis','host':'127.0.0.1','port':'5432'}engine=create_engine(f"......
  • oracle数据库备份一个表数据并恢复
    使用场景:当我们平时想要大批量替换数据的时候,在生产上往往会先备份,然后如果遇到问题再回退,那么可能涉及下面两个语句:1.创建一个备份表并存储原始数据CREATETABLE备份......
  • 通过iptables转发到TDSQL实现外网访问云数据库
    腾讯云有些TDSQL,如pgsql版的不能通过外网访问。此时提供2种方案,一种是nginx转发,一种是iptables。这看起来都需要额外的服务器成本,没办法。这里我们使用iptables,因为最方便......
  • 操作系统-文件管理知识点回顾
      1.先理解直接地址索引、一级间接索引、二级间接索引直接地址索引:直接指向一个存数据的磁盘块一级间接索引:指向一个内容全部是直接地址索引的磁盘块,它所指向的这个......
  • 如果通过SSMS客户端连接Dataverse
    最近一直有小伙伴问,怎么通过SSMS连接Dataverse,他们在尝试连接的的时候都报了如下的错误  这个问题主要是PP中的TDS终结点没有开启的原因导致1、首先依旧是进入Power......
  • 【AGC】【云数据库】云数据库常见问题
    ​1、【问题描述】是否可以添加支持kotlin文件的导出功能?​【解决方案】目前,我们没有这样的开发议程,因为有对Java的支持。 2、【问题描述】咨询一下云数据关联......
  • 学习:python操作数据库
      一次性添加多条数据   ......
  • JavaScript基础回顾知识点记录7-事件补充说明2
    js中鼠标滚轮事件offsetWidth/offsetHeight-对象的可见宽度/高度clientWidth/clientHeight-内容的可见宽度/高度scrollWidth/scrollHeight......