zoukankan      html  css  js  c++  java
  • oracleI基础入门(9)table子查询 Crazy

    子查询
    我们可以在一个 SQL 语句中放入另一个 SQL 语句。当我们在 WHERE 子句或 HAVING
    子句中插入另一个 SQL 语句时,我们就有一个子查询 (subquery) 的架构。 子查询的作用
    是什么呢?第一,它可以被用来连接表格。另外,有的时候子查询是唯一能够连接两个表格
    的方式。
    子查询的语法如下:
    SELECT "栏位1" FROM "表格" WHERE "栏位2" in (SELECT "栏位1" FROM "表格" WHERE [条件])
    例如 "LIKE"。绿色的部分代表外查询,红色的部分代表内查询。
    我们就用刚刚在阐述 SQL 连接时用过的例子:
    Store_Information 表格
    store_name           Sales                    Date
    Los Angeles           $1500                    Jan-05-1999
    San Diego             $250                      Jan-07-1999
    Los Angeles           $300                      Jan-08-1999
    Boston                  $700                       Jan-08-1999
    Geography 表格
    region_name                   store_name
    East                                 Boston
    East                                 New York
    West                                Los Angeles
    West                               San Diego
    我们要运用 subquery 来找出所有在西部的店的营业额。我们可以用下面的 SQL 来达到我
    们的目的:
    SELECT SUM(Sales) FROM Store_Information
    WHERE Store_name IN
    (SELECT store_name FROM Geography
    WHERE region_name = 'West')
    结果:
    SUM(Sales)
    2050
    在这个例子中,我们并没有直接将两个表格连接起来,然后由此直接算出每一间西区店面的
    营业额。我们做的是先找出哪些店是在西区的,然后再算出这些店的营业额总共是多少。
    在以上的例子,内部查询本身与外部查询没有关系。这一类的子查询称为『简单子查询』
    (Simple Subquery)。如果内部查询是要利用到外部查询提到的表格中的栏位,那这个字查询
    就被称为『相关子查询』 (Correlated Subquery)。以下是一个相关子查询的例子:
    SELECT SUM(a1.Sales) FROM Store_Information a1
    WHERE a1.Store_name IN
    (SELECT store_name FROM Geography a2
    WHERE a2.store_name = a1.store_name)

  • 相关阅读:
    lucene复合条件查询案例——查询name域 或 description域 包含lucene关键字的两种方式
    谈谈你对spring的理解?
    模拟Http请求的几种常用方式
    idea破解教程
    Pycharm 或者 idea 注册码 (亲测可用)
    超详细虚拟机工具和Centos7 Linux系统安装
    严重: Error loading WebappClassLoader context:异常的解决方法(转)
    spring cloud 笔记记录
    近一周学习之-----vue学习快乐之旅(1)
    近一周学习之-----vue开发工具visual studio code
  • 原文地址:https://www.cnblogs.com/flyscan/p/2545943.html
Copyright © 2011-2022 走看看