时间:2021-05-23
MySQL连接查询相信大家都有所了解,连接查询是在数据库查询操作的时候经常用到的,下面就为您介绍MySQL连接查询
mysql连接查询:支持多表连接
对同一张表可以重复连接多次(别名在多次连接同一张表时很重要)
例题1:
下面有2张表
teams表
比赛结果表:result
问题:
得出一张表:主队,客队,比赛成绩,比赛时间
方法一:子查询和连接查询混合
step1:
复制代码 代码如下:select result.id, t_name as h_name,match_time,result from teams join result on teams.t_id=result.h_id
step2:
复制代码 代码如下:select result.id ,t_name as g_name from teams join result on teams.t_id=result.g_id
得到
step3:根据比赛的id 相等连接以上两表即可
复制代码 代码如下:select t1.id,h_name,g_name,result,match_time from
(select result.id, t_name as h_name,match_time,result from teams join result on teams.t_id=result.h_id) as t1
join
(select result.id ,t_name as g_name from teams join result on teams.t_id=result.g_id) as t2
on t1.id=t2.id;
即可得到
结果是出来了,有点繁琐
方法二:多次连接查询
复制代码 代码如下:select result.id,t1.t_name as h_name ,t2.t_name as g_name ,result,match_time from result
join
teams as t1 on result.h_id=t1.t_id
join
teams as t2 on t2.t_id=result.g_id;
即可得到:
Teams表要连接2次所以要有别名
例题2:
现有下表 subject
求这样一个表
父栏目名 ,子栏目名称
连接查询
自己连接自己更需要别名了
复制代码 代码如下:select t1.name as p_name,t2.name as son_name from subject as t1 join subject as t2 on t1.id=t2.pid;
即可得到
以上就是本文的全部内容,希望大家能够喜欢。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了mysql多个leftjoin连接查询用法。分享给大家供大家参考,具体如下:mysql查询时需要连接多个表时,比如查询订单的商品表,需要查询商品的
本文实例讲述了mysql连接查询、联合查询、子查询原理与用法。分享给大家供大家参考,具体如下:本文内容:连接查询联合查询子查询from子查询where子查询ex
最近遇到的一些问题总结:1.MySQL数据库同一张表做四次左连接查询数据冗余。a.mysql数据库连接查询b.mysql表数据去重2.mybatis查询相同列赋
要将mysql的查询结果导出为csv,一般会使用php连接mysql执行查询,将返回的查询结果使用php生成csv格式再导出。但这样比较麻烦,需要服务器安装ph
MySQL和连接相关的timeout前言:今天同事问为什么查询mysql库时,在数据量比较大时,会话总断。刚开始以为是mysql的和连接有关timeout的问题