美文网首页
MySQL join连表查询示例

MySQL join连表查询示例

作者: f68c8a455b56 | 来源:发表于2018-09-28 18:23 被阅读23次

先给出一些数据库表,方便大家直观感受。
当前需求:在后台展示 某俱乐部在某时间段的玩家个人信息以及消耗信息

ClubInfo : 俱乐部

ClubID ClubName
30005 小帅哥俱乐部
30100 GTT

ClubUserInfo : 俱乐部-玩家,玩家可加入多个俱乐部。

ClubID UserID Level
30005 1003 13
30005 1004 0
30005 1005 2
30100 1003 5
30100 1010 8

CostInfo : 玩家消耗,每次消耗单独记录。

ClubID UserID CostMoney Time
30005 1003 20 2018-09-26 11:15:45
30005 1004 1 2018-03-07 11:00:00
30005 1003 101 2018-09-11 10:00:00
30005 1005 45 2018-09-05 10:02:20
30100 1003 23 2017-02-05 12:04:20
30100 1003 3 2018-09-05 11:14:10
30100 1010 70 2017-11-05 19:14:10

AccountsInfo : 玩家个人信息,全局统一

UserID NickName FaceUrl Age Sex
1003 火烧风 t.cn/4afs45 28 1
1004 暖暖 t.cn/s655w5 23 0
1005 t.cn/56sgz 19 1
1010 蓝天白云 t.cn/y633 35 1

假如要查询俱乐部 30005 在 2018-09-01 到 2018-09-30 的信息,现在连表查询语句如下:

select A.*, B.CostMoney, C.NickName  from ClubInfo as A 
left join (
  select UserID, sum(CostMoney) as Cost from CostInfo 
  where datediff( Time, '2018-09-01') >= 0 and datediff( Time, '2018-09-01')  <  30
  group by UserID 
) as B on ( A.UserID = B.UserID)
join (
  select UserID, NickName from AccountsInfo 
) as C on ( A.UserID = C.UserID)
where A.ClubID = 30005 ;

结果如下:

ClubID UserID Level CostMoney NickName
30005 1003 13 121 火烧风
30005 1004 0 暖暖
30005 1005 2 45

可以看到 left join 允许右侧表空缺数据

相关文章

  • MySQL join连表查询示例

    先给出一些数据库表,方便大家直观感受。当前需求:在后台展示 某俱乐部在某时间段的玩家个人信息以及消耗信息。 Clu...

  • sql _ 连表查询 & 授权

    一,连表查询 1)连表 简单查询_where 2) 连表 多种方式查询 3)子查询 综合以上查询示例 二,DCL数...

  • mysql DQL语言查询总结

    语法:select 查询列表 ⑦from 表1 别名 ①连接类型 join 表2 ②on 连...

  • MySQL记录

    1. Join的使用 MySQL 的 JOIN 在两个或多个表中查询数据,Join包括三种: Inner Join...

  • mysql 联表查询

    mysql 联表查询 JOIN 对比 思路: 1.分析需求,分析查询的字段来自哪些表(连接查询) 2.确定使用哪...

  • MySQL性能优化-条件过滤(Condition Filteri

    MySQL在处理join查询时,遍历驱动表的记录,把驱动表的记录传递给被驱动表,然后根据join连接条件进行匹配。...

  • Mysql学习6——连表查询

    连表查询:Join连接(默认为内部链接:INNER JOIN) 基本语句: 直接全部查询 从上面的返回结果看出,返...

  • Rails连表查询(join)

    今天遇到的两个需求,要用到连表查询: 有2个表,users表和offices表。他们关系是user belongs...

  • sql中的连接查询

    为了验证方便,我们建立两张表 一、外连接1.左连查询left join 或 left outer join查询当学...

  • thinkphp 5.1的with和传统的join场景测试

    1. 传统业务查询方式 传统业务查询方式在涉及连表操作的时候一般用join连表,大约有一下缺点。 有的时候连表过多...

网友评论

      本文标题:MySQL join连表查询示例

      本文链接:https://www.haomeiwen.com/subject/xblyoftx.html