经典mysql连接查询例题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

经典mysql连接查询例题
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 as p_name, as son_name from subject as t1 join subject as t2 on t1.id=t2.pid;即可得到
以上就是本⽂的全部内容,希望⼤家能够喜欢。

相关文档
最新文档