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