学无先后,达者为师

网站首页 编程语言 正文

数据库多表联查的方式

作者:l1050188952 更新时间: 2022-09-26 编程语言

多表联查:多表联查可以通过连接运算实现,即将多张表通过主外键关系关联在一起进行查询。在实际开发过程中,我们的数据大多会来自不同的表中,所以我们就需要使用多表联合查询。多表查询就是对多张表的数据取笛卡尔积,就是对多张表数据做排列组合得到多组的数据。

非等值查询:select * from 表1,表2   #取笛卡尔积

等值查询:select * from 表1,表2 where 表1.字段1 = 表2.字段2...

连接查询分为三种

select * from 表1 left|right|inner join 表2 on 条件

1.inner join(内联-->查询的是交集):在表中至少一个匹配时,则返回记录。

查询员工名和上级名称(员工表中有上级字段外键)
 Sselect a.last_name,b.last_name
 from employees a
 inner join employees b ON  a.manager_id = b.employee_id;

2.left join(左外联接-->查询非交集):从左表(表1)中返回所有的记录,即便在右 (表2)中没有匹配的行。

select 表名1.字段, 表名2.字段
 from 表1  //以左表为主表
 LEFT JOIN 表2
 on 两表的连接条件
 WHERE 获取条件;

3.right join(右外联-->):从右表(表2)中返回所有的记录,即便 在左(表一1)中没有匹配的行。

select 表名1.字段, 表名2.字段
 from 表1  
 RIGHT JOIN 表2    //以右表为主表
 on 两表的连接条件
 WHERE 获取条件;

自联结查询的应用

//同一张表中的自联结

select a.字段名,b.字段名
 from 表名 a //起别名
 JOIN 表名 b //起别名 ON  a.字段名=b.字段名;

表联查就分享到这里,有问题随时私信哦

原文链接:https://blog.csdn.net/l1050188952/article/details/124872295

栏目分类
最近更新