SQL多表联查

作者:管理员 发布时间:2020-12-25 11:15

我们按照使用场景,来介绍多表联查:

1、关联表取值

为了减少数据库的冗余,很多多个业务中共同使用的数据,会独立一张表存起来,而不是每个业务表中都存。

如:新闻业务,新闻的作者为一个用户,留言板业务,留言人也是一个用户,一般情况下,会在这些业务表只保存1个用户ID,用户的名字,头像等信息都存在用户表;如图:


那么,我们如果想在查询指定新闻或某条留言时,想同事显示出用户的名字和头像,就需要关联查询;

代码如下:

SELECT 新闻表.*,用户表.username,用户表.userimg FROM 新闻表 LEFT JOIN 用户表 ON 新闻表.userid =用户表.userid

关联表时,使用了left join连接第二张表,通过ON声明关联列名;

这里要注意的是,


2、多表拼接

我们在SQL单表查询中讲过,当单张表数据量过大时,我们可能会存储在多个数据库或多张表中,所以我们可能需要将多张表查出来的数据,拼接在一起的需求;

SQL如下写法:

SELECT 列名1,列名2 FROM 表名1
UNION
SELECT 列名1,列名2 FROM 表名2;

将多张表查询拼接,仅需在中间写一个UNION即可;

但需要注意的是,

 

标签:
Copyright © 2020 万物律动 旗下 AI算法狮 京ICP备20010037号-1
本站内容来源于网络开放内容的收集整理,并且仅供学习交流使用;
如有侵权,请联系删除相关内容;