`

工作中用的两条查询语句,LEFT JOIN多张表的

 
阅读更多
----4G手机 left join 三张表
select a.IMSI,
       Mobileid IMEI,
       substr(Mobileid,0, 6) 终端类型,
       上行流量,
       空口时间,
       业务时长,
       IP包数,
       下行流量,
       并发服务数
  from ((select IMSI,
                sum(userullen) / 1024 / 1024 上行流量,
                sum(userdllen) / 1024 / 1024 下行流量,
                sum(timelen) 业务时长,
                sum(packetnumber) IP包数,
                sum(fid) 并发服务数
           from apptypeinfo
          where datetime >=
                to_date('2013-9-2 0:00:00', 'YYYY-MM-DD HH24:MI:SS')
            and datetime <
                to_date('2013-9-3 0:00:00', 'YYYY-MM-DD HH24:MI:SS')
            and 1 = 1 -- 基站查询条件.
            and 2 = 2 -- 业务查询条件.
            and vlanid = 0
            and userid is not null
            and rownum <= 10
          group by imsi
          order by 上行流量 desc) a
          left join
          (select GTPV2MESSAGE.Mobileid, GTPV2MESSAGE.imsi from GTPV2MESSAGE
          where datetime >=
                to_date('2013-9-2 0:00:00', 'YYYY-MM-DD HH24:MI:SS')
            and datetime <
                to_date('2013-9-3 0:00:00', 'YYYY-MM-DD HH24:MI:SS')
           ) b
           on a.imsi = b.imsi
           left join
        (select sum(time_um.delaytime) 空口时间, imsi
           from time_um
          where bdatetime >=
                to_date('2013-9-2 0:00:00', 'YYYY-MM-DD HH24:MI:SS')
            and edatetime <
                to_date('2013-9-3 0:00:00', 'YYYY-MM-DD HH24:MI:SS')
          group by time_um.imsi) c on a.imsi = c.imsi)
order by 上行流量 desc



----mifi终端 left join 2张表
select 所属MIFI,
       MAC地址,
       终端类型,
       上行流量,
       空口时间,
       业务时长,
       IP包数,
       下行流量,
        并发服务数
  from ((select MIFIIP 所属MIFI,
                userid MAC地址,
                mactype 终端类型,
                sum(userullen) / 1024 / 1024 上行流量,
                sum(userdllen) / 1024 / 1024 下行流量,
                sum(timelen) 业务时长,
                sum(packetnumber) IP包数,
                sum(fid) 并发服务数,
                imsi
           from apptypeinfo
          where  datetime >= to_date('2013-9-2 0:00:00','YYYY-MM-DD HH24:MI:SS') and datetime <to_date('2013-9-3 0:00:00','YYYY-MM-DD HH24:MI:SS')
            and 1 = 1 -- 基站查询条件.
            and 2 = 2 -- 业务查询条件.
            and vlanid != 0
            and userid is not null
           and rownum <= 10
          group by imsi, MIFIIP, userid, mactype
           order by  上行流量 desc
          ) a left join
        (select sum(time_um.delaytime) 空口时间, imsi
           from time_um
          where  bdatetime >= to_date('2013-9-2 0:00:00','YYYY-MM-DD HH24:MI:SS') and edatetime <to_date('2013-9-3 0:00:00','YYYY-MM-DD HH24:MI:SS')
          group by time_um.imsi) b on a.imsi = b.imsi)  order by  上行流量  desc
分享到:
评论

相关推荐

    from 多张表 等于 left join 其他表.

    标题与描述中的“from多张表等于left join其他表”主要涉及的是SQL查询语句中两种不同的连接方式:内连接(通常在FROM子句后直接使用WHERE子句实现)和左连接(LEFT JOIN)。这两种连接方式在处理多表查询时有着不同...

    Sql语句用left join解决多表关联问题(关联套关联,例子和源码)

    Sql语句用left join解决多表关联问题(关联套关联,例子和源码)一看就明白多表关联如何写SQl语句

    经典sql语句,关联到四张表,非常经典

    例如,在示例代码中多次出现`INNER JOIN`关键字,这表明我们需要关注两个表之间的匹配条件。例如: ```sql v_frdjf inner join T_fkunithistory h on f.id = h.frdjId ``` 这里,`v_frdjf`和`T_fkunithistory`通过`...

    SQLServerUpdate多表Join

    本文将详细介绍如何使用 `UPDATE` 语句结合 `JOIN` 来实现对多个表的更新操作。 #### 1. 基本概念与语法 在 SQL Server 中,`UPDATE` 语句用于修改已存在的记录。通常情况下,我们只需要更新一个表的数据。但在...

    mysql 一条语句删除多表数据

    首先,我们要理解的是SQL语言中的“JOIN”操作,它是用来联接两个或更多表的查询,以便基于这些表之间的相关列进行操作。在删除场景中,可以使用`INNER JOIN`、`LEFT JOIN`、`RIGHT JOIN` 或 `FULL OUTER JOIN` 来...

    SQL查询语句使用

    - 使用 `JOIN` 语句来连接多张表,可以使用 `INNER JOIN`, `LEFT JOIN`, `RIGHT JOIN` 等。 - 示例:`SELECT u.username, c.cityid FROM usertable u JOIN citytable c ON u.cityid = c.cityid;` 6. **子查询:**...

    inner join 内联与left join 左联的实例代码

    在SQL查询中,JOIN操作是连接不同表的关键,主要用于整合多张表的数据,形成单一的结果集。本篇文章将深入探讨两种常见的JOIN类型:INNER JOIN(内联)和LEFT JOIN(左联),并结合实例代码来解析它们的工作原理和...

    一条sql语句关联八个表

    标题中的"一条sql语句关联八个表"涉及到的就是这种复杂的联接查询。这种查询通常用于从分布在不同表中的相关数据中提取所需信息。下面我们将深入探讨这个主题。 首先,我们了解SQL的基本联接类型: 1. **INNER ...

    sql语句练习题单表+多表各四套

    多表查询涉及到JOIN(包括INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN)、子查询以及联接操作。例如,你可以通过INNER JOIN将两个表中的匹配记录合并,LEFT JOIN则会保留左表的所有记录,即使在右表中没有...

    mysql使用from与join两表查询的区别总结

    总结来说,在MySQL中,使用`FROM`和`JOIN`(不包括`LEFT JOIN`和`RIGHT JOIN`)进行两表查询时,无论是查询结果还是查询效率,它们基本上是等效的。这主要是因为MySQL的解析器在处理查询语句时,会将`FROM`和`JOIN`...

    易飞基本资料检查用语句

    接下来,通过一系列`LEFT JOIN`操作将多张表中的数据连接起来,并将特定字段的数据插入到临时表中。这里通过多个层级的`LEFT JOIN`实现了对物料清单层次结构的遍历,从而获取到了各个层级的物料编号(MD001)。 ```...

    mysql 开发技巧之JOIN 更新和数据查重/去重

    1 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN(MySQL 不支持)、CROSS JOIN 这是在网上找到的非常好的一篇博文,图解 join 语句: CODING HORROR-A Visual Explanation of SQL Joins 下图可以很清楚的明白,join ...

    查询几张数据库表的联接查询实例

    在关系型数据库中,联接查询(Join)是一种用于从多个表中获取数据的方法。当需要从两个或多个表中获取相关数据时,联接查询就显得尤为重要。通过联接查询,可以将来自不同表的数据行进行合并,从而实现更复杂的数据...

    sql语句电子书 . .

    2. JOIN操作:了解JOIN的不同类型,如INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN,以及如何合并多个表中的数据。 3. 聚合函数:学习COUNT、SUM、AVG、MAX和MIN等聚合函数,用于统计和计算数据。 4. 分页查询:...

    数据库实验报告(包含建表语句,查询语句)

    例如,可以使用`SELECT`语句从这些表中检索特定信息,结合`WHERE`子句进行条件筛选,使用`JOIN`操作来合并不同表的数据,如内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和交叉连接(CROSS JOIN...

    SQL查询语句大全集锦

    当查询涉及到多个表时,需要使用逗号分隔各个表名,并可能需要通过`WHERE`子句或其他连接子句(如`INNER JOIN`、`LEFT JOIN`等)来建立表之间的关系。例如: ```sql SELECT username, citytable.cityid FROM ...

    SQL语句的分析与查询优化策略.pdf

    常见的连接方式包括内连接(INNER JOIN)、外连接(LEFT JOIN、RIGHT JOIN、FULL JOIN)、交叉连接(CROSS JOIN)等,选择合适的连接方式能显著提高查询效率。 为了优化查询性能,可以采取多种策略,例如: 1. ...

    详解Mysql多表联合查询效率分析及优化

    1. 多表连接类型 1. 笛卡尔积(交叉连接) 在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用’,’ 如: SELECT * FROM table1 CROSS JOIN table2 ...一般使用LEFT [OUTER] JOIN或者RIGHT [OUTER] JOIN  2. 

Global site tag (gtag.js) - Google Analytics