数据库表关联查询的类型有什么?

数据库表关联查询的类型有什么?,第1张

1.左右连接:以哪个表为主,结果集为“主表”的全部记录+“副表”与“主表”相匹配的记录,如果“副表”中没有和“主表”相匹配的记录,则相对应的记录显示为NULL

2.左连接:左边表全部行+右边表相匹配的行,如果左边表中的某一行,在右边表中没有匹配的行,则显示NULL(left join 或者left outer join)

3.右连接:和左连接相反。(right join 或者right outer join)

4.内连接:它返回字段ID(连接条件)同时存在于两个表中的记录,也就是说,仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行,内联接消除与另一个表中的任何行不匹配的行。(inner join或者join)

5.全连接:不管匹配不匹配,全部都显示出来。(full join或者full outer join)

6.交叉连接:没有WHERE 子句的交叉联接将产生联接所涉及的表的笛卡尔积。第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。(cross join不带where)

7.自连接:给自己取个别名,一个表当两个表来使用。

可以多建立一个图书编号的字段,每个表都以该编号进行关联。如A表ID

图书编号

借书B表ID

图书编号

书柜C表ID

图书编号

买书

然后在SQL查询里,用多表查询语句就可以了

有多种方法:

1>左联: select 列名 from Grade left join Class on Grade.GradeID = Class.GradeID

2>右联: 也是一样, 只是left改为right

3>平级查询: select 列名 from Grade, Class where Grade.GradeID = Class.GradeID

当然, 可能还有别的方法, 有这些基本就行了


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存