zoukankan      html  css  js  c++  java
  • Oracle数据库高级查询(五)集合查询

    现实需求有时候需要将多个查询组合到一个查询中去

    这时就需要使用集合查询操作了

    这个操作类似于数学中的交集,并集,和补集的操作

     

    交集就是返回两个查询共有的记录,关键字是INTERSECT

    并集是返回各个查询的所有记录,关键字为UNION或者UNION ALL

    补集就是返回第一个查询检索出的记录减去第二个查询检索出的记录之后的剩余记录,关键字是MINUS

     

    分完组之后筛选只能使用having关键字,而不能使用where

     

    各种示例如下:

    获取一次订单满200元或者订单累计满500元的用户


     

    获取一次订单满200元并且订单累计满500元的用户


     

    获取没有被订购过的商品ID


     

    需要注意的是:

    UNION和UNION ALL都可以用在集合查询的并集操作,不过后者比前者效率高

    因为UNION查询出的内容剔除重复行,同时默认按第一个查询的第一列升序排列

    而UNION ALL不做这些,在业务要求允许时,最好使用效率高的UNION ALL

     

    使用上述关键字连接两个select语句的时候,查询的列数和列的数据类型要一致

     

    UNION在做重复行查询时,不忽略空值,如果有重复的空行则保留一个空行

    INTERSECT以及MINUS查询也无重复行,按第一个查询的第一列升序排列

  • 相关阅读:
    函数function
    文件操作
    手机抓包app在python中使用
    手机app抓包工具,安卓手机adb无线连接
    selenium+options配置文件
    scrapy 执行同个项目多个爬虫
    最简单的???ubuntu 通过crontab定时执行一个程序
    scrapycrawl 爬取笔趣阁小说
    python装饰器见解笔记
    有关于python内置函数exec和eval一些见解笔记
  • 原文地址:https://www.cnblogs.com/cxxjohnson/p/5115195.html
Copyright © 2011-2022 走看看