您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

mysql连接查询经典小例题_MySQL

2025/1/19 20:07:50发布26次查看
bitscn.com
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;
即可得到
为方便练习,或得建表和数据填充sql请点击获取练习sql
bitscn.com
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product