`
一万个舍不得
  • 浏览: 3135 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

子查询with as

    博客分类:
  • sql
阅读更多
子查询with as 使用
1.查询多个数据表时,最简单的方法就是使用with as 子查询,以下示例查询两张数据表:
1)需求:统计各个分行的贷款金额(需要合计两张中的数据)
2)数据表a;
3)数据表b;
with a as
(
   select a.branchCode,c.orgName as branchName,nvl(sum(a.data),0) as data
   from a a
   left join c c on a.branchCode = c.orgCode
   group by a.branchCode,c.orgName
),
b as
(
   select b.branchCode,c.orgName as branchName,nvl(sum(b.data),0) as data
   from b b
   left join c c on b.branchCode = c.orgCode
   group by b.branchCode,c.orgName
)
select nvl(a.branchCode,b.branchCode) as branchCode,
       nvl(a.branchName,b.branchName) as branchName,
       nvl(a.data,0)+nvl(b.data,0) as data
from a
full join b on a.branchCode = b.branchCode
怎么样?with as 就是如些的简单,举一反三,只要你掌握了这个函数,理解了它真正的含义,不管有几张表,逻辑如何复杂,都会让你得心应手……
真是过瘾呀,写sql真是一种享受…… 以后会陆续写sql^^^^呵呵,写sql我的最爱………………
路过的人,不管你对sql有什么独特的见解,还是对sql有多深厚的功底,都不要对我写的sql嗤之以鼻……
我写的sql我骄傲……
分享到:
评论

相关推荐

    巧用with as 对sql语句多次利用

    对于需重复查询的sql语句,可巧用with as 对sql语句进行精简,提高查询效率

    sql中with as的应用整理

    1. **简化复杂的嵌套查询**:当一个查询中包含多个子查询时,使用`WITH AS`可以将这些子查询定义为CTE,从而让整个查询更加清晰易懂。 2. **重复使用子查询结果**:如果一个查询中多次使用同一个子查询的结果,那么...

    内联视图 标量子查询 with子查询分解.txt

    ### 内联视图、标量子查询与WITH子查询在Oracle中的应用 #### 内联视图(Inline View) 在Oracle数据库中,内联视图是一种特殊的视图形式,它直接在查询语句中定义而不是作为独立的对象创建并存储在数据库中。这种...

    sql里面 with...as 是什么意思?如何使用?

    - **性能优化**:在某些情况下,使用CTE可以避免多次执行相同的子查询,从而提高查询效率。 - **递归查询**:CTE支持递归查询,这对于处理层次结构数据非常有用。 #### 二、语法结构 `WITH...AS`的基本语法如下...

    sql with as用法详解

    一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ...

    with as 语句真的会把数据存内存嘛?(源码剖析).docx

    这意味着对于每个`select`子句,Hive都重新执行了`with as`后面的子查询,而没有利用到物化的结果。 然而,如果启用了物化,Hive会在第一次执行`with as`子句后将结果存储在内存中,后续的查询就可以直接从内存中...

    SQL Server中with as使用介绍

     WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,...

    SQL Server 通过with as方法查询树型结构

    在SQL Server中,`WITH AS`结构被称为公用表表达式(Common Table Expression,简称CTE)。它是一种临时的结果集,可以在单个查询中多次引用,但与视图不同,CTE不会在数据库中创建永久的对象。CTE主要用在两种场景...

    Oracle 11GR2的递归WITH子查询方法

    Oracle 11GR2的递归WITH子查询是一种强大的功能,它允许你在SQL查询中创建递归关系,处理层级数据,比如组织结构、家族树或依赖关系等。WITH子查询,也称为公共表表达式(CTE),是SQL标准的一部分,自9i版本开始被...

    10.2.0.3版本 with改造递归查询

    - **内部子查询**: - 使用`dual`表初始化一个基础节点,其`cant_code`为'100000'。 - 从`ghsj_xm.pub_cant`表中选取符合条件的数据,使用`CONNECT BY`子句进行递归连接,并排除特定的`cant_code`值。 - 使用`...

    oracle 高级查询

    EXISTS返回TRUE如果子查询返回至少一行,而NOT EXISTS返回TRUE如果子查询不返回任何行。这些运算符常用于优化查询,特别是在与UPDATE和DELETE语句结合时,它们可以帮助你仅更新或删除满足特定条件的行。 最后,WITH...

    数据库设计之递归树查询

    -- 递归子查询(递归部分) SELECT column1, column2, ... FROM cte_name -- 引用已定义的CTE JOIN table_name ON some_condition ) SELECT * FROM cte_name; ``` 四、实例解析 假设我们有一个`employees`表,...

    oracle数据库startwith用法

    接下来,我们将使用 `START WITH` 和 `CONNECT BY` 来查询这个表,并构建出一个树状结构。 ##### 构建层级结构 如果我们想从 `ID = 1` 这一行开始构建层级结构,可以使用如下的SQL语句: ```sql SELECT * FROM ...

    软件开发高手须掌握的4大SQL精髓语句(三)

    在某些情况下,如果同一个子查询需要在主查询中多次执行,那么通过WITH AS语句可以将这个子查询的结果先计算出来,之后的查询可以直接使用这些结果,从而避免重复计算,节省计算资源。 ##### 4.3 简化多层嵌套查询 ...

    Oracle层次查询和with函数的使用示例

    在Oracle数据库中,处理...层次查询能轻松遍历树状结构,而WITH函数则便于进行复杂的子查询操作,两者结合可以满足多种层次数据处理需求。在实际开发中,理解并熟练运用这些特性,能有效提升数据查询的效率和准确性。

    为子查询命名.rar

    在SQL查询中,子查询是一种非常重要的技术,它允许我们在一个查询内部嵌套另一个查询,以获取更复杂的数据。"为子查询命名"这个主题主要关注如何为子查询赋予别名,以便更好地理解和管理复杂的查询结构。下面我们将...

Global site tag (gtag.js) - Google Analytics