数据库里面自连接和内连接区别是什么?

数据库里面自连接和内连接区别是什么?,第1张

自连接就是自己连接自己,比如

select * from A a1 join A a2 where a1.pid=a2.pid

前提是表A要有自参照外键

内连接就是不同的表直接的等值连接。。。。

比如

select * from A inner join B on A.xx=B.yy where 条件

假设在【成绩表】有【主键ID】【学生姓名】【课程名称】【成绩】等字段。

现在要查询 “语文成绩>=数学成绩”的学生姓名,这时就可以使用自连接查询:

select 【学生姓名】

from 【成绩表】 AS a,【成绩表】 AS b

where a.【主键ID】=b.【主键ID】

and a.【成绩】>=b.【成绩】

and a.【课程名称】='语文'

and b.【课程名称】='数学'

自连接是指使用表的别名实现表与其自身连接的查询方法。

自然连接就是把两个表中相同属性"衔接",属性值相同的就保留下来, *** 作方法如下:

1、首先在数据库中,有时需要用到两张或以上表的数据,就可以考虑采用连接查询。

2、这时要查找哪位同学选了那门课,肯定要两表连接。

3、连接表做的是对两表的笛卡尔积,明显不是要的结果。

4、因此需要连接条件来判定。

5、其实不采用连接查询也是可以的,在关系数据库中的子查询也是极为广用。

6、但是会发现,如果作为子查询是没有办法投影出不同表的不同列,因此,当需要投影多张表中的列,就必须要用连接查询,就完成了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6694728.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存