加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

经典mysql连接查询例题

发布时间:2020-12-12 08:13:28 所属栏目:MsSql教程 来源:网络整理
导读:MySQL连接查询相信大家都有所了解,连接查询是在数据库查询操作的时候经常用到的,下面就为您介绍MySQL连接查询 mysql连接查询: 支持多表连接 对同一张表可以重复连接多次(别名在多次连接同一张表时很重要) 例题1: 下面有2张表 teams表 比赛结果表:result

 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,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,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;
 

即可得到

以上就是本文的全部内容,希望大家能够喜欢。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读