源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

经典mysql连接查询例题

  • 时间:2020-03-20 17:06 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:经典mysql连接查询例题
 MySQL连接查询相信大家都有所了解,连接查询是在数据库查询操作的时候经常用到的,下面就为您介绍MySQL连接查询 [b]mysql连接查询:[/b]支持多表连接 对同一张表可以重复连接多次(别名在多次连接同一张表时很重要) [b]例题1:[/b] 下面有2张表 teams表 [img]http://files.jb51.net/file_images/article/201507/201507241525323.png[/img]  比赛结果表:result [img]http://files.jb51.net/file_images/article/201507/201507241525324.png[/img] 问题: 得出一张表:主队,客队,比赛成绩,比赛时间 [b]方法一:子查询和连接查询混合[/b] [b]  step1:[/b]
[u]复制代码[/u] 代码如下:
select result.id, t_name as h_name,match_time,result from teams  join result on teams.t_id=result.h_id
[img]http://files.jb51.net/file_images/article/201507/201507241525325.png[/img] [b]step2:[/b]
[u]复制代码[/u] 代码如下:
select result.id ,t_name as g_name from teams  join result on teams.t_id=result.g_id
得到 [img]http://files.jb51.net/file_images/article/201507/201507241525336.png[/img] [b]step3[/b]:根据比赛的id 相等连接以上两表即可
[u]复制代码[/u] 代码如下:
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;
即可得到 [img]http://files.jb51.net/file_images/article/201507/201507241525337.png[/img] 结果是出来了,有点繁琐 [b]方法二:多次连接查询[/b]
[u]复制代码[/u] 代码如下:
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;
即可得到: [img]http://files.jb51.net/file_images/article/201507/201507241525338.png[/img] Teams表要连接2次所以要有别名   [b]例题2:[/b] 现有下表 subject [img]http://files.jb51.net/file_images/article/201507/201507241525339.png[/img] 求这样一个表 父栏目名 ,子栏目名称 连接查询 自己连接自己更需要别名了  
[u]复制代码[/u] 代码如下:
select t1.name as p_name,t2.name as son_name from subject as t1 join subject as t2 on t1.id=t2.pid;
  即可得到 [img]http://files.jb51.net/file_images/article/201507/2015072415253310.png[/img] 以上就是本文的全部内容,希望大家能够喜欢。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部