【SQL 学习】minus 和intsect 的排序方式!

前面的文章说 minus  和intsect 的排序方式和union的排序方式是一样的,这里做一个实验验证一下:

SQL> select id ,name ,text from t

  2  minus

  3  select id ,name ,text from t1;

未选定行

执行计划

----------------------------------------------------------

Plan hash value: 452211453 

---------------------------------------------------------------------------- 

| Id  | Operation           | Name | Rows  | Bytes | Cost (%CPU)| Time     |

----------------------------------------------------------------------------

|   0 | SELECT STATEMENT    |      |     9 |   270 |     9  (67)| 00:00:01 |

|   1 |  MINUS              |      |       |       |            |          | 

|   2 |   SORT UNIQUE       |      |     9 |    81 |     4  (25)| 00:00:01 | 

|   3 |    TABLE ACCESS FULL| T    |     9 |    81 |     3   (0)| 00:00:01 | 

|   4 |   SORT UNIQUE       |      |    21 |   189 |     5  (20)| 00:00:01 | 

|   5 |    TABLE ACCESS FULL| T1   |    21 |   189 |     4   (0)| 00:00:01 | 

---------------------------------------------------------------------------- 

统计信息

----------------------------------------------------------

          1  recursive calls 

          0  db block gets  

         14  consistent gets 

          0  physical reads 

          0  redo size  

        387  bytes sent via SQL*Net to client 

        404  bytes received via SQL*Net from client 

          1  SQL*Net roundtrips to/from client 

          2  sorts (memory)

          0  sorts (disk)

          0  rows processed 

SQL> set linesize 120

SQL> select id ,name ,text from t1

  2  minus

  3  select id ,name ,text from t;

        ID NAM TEX     

---------- --- ---     

         2 a1  b1      

         2 a1  b2      

         2 a1  b3      

         2 a2  b2      

         3 a1  b1      

         3 a1  b2      

         3 a1  b3      

         3 a2  b1      

         3 a2  b2     

         3 a2  b3      

已选择10行。

执行计划

----------------------------------------------------------

Plan hash value: 3599035886 

----------------------------------------------------------------------------

| Id  | Operation           | Name | Rows  | Bytes | Cost (%CPU)| Time     |

---------------------------------------------------------------------------- 

|   0 | SELECT STATEMENT    |      |    21 |   270 |     9  (56)| 00:00:01 | 

|   1 |  MINUS              |      |       |       |            |          |

|   2 |   SORT UNIQUE       |      |    21 |   189 |     5  (20)| 00:00:01 |

|   3 |    TABLE ACCESS FULL| T1   |    21 |   189 |     4   (0)| 00:00:01 | 

|   4 |   SORT UNIQUE       |      |     9 |    81 |     4  (25)| 00:00:01 | 

|   5 |    TABLE ACCESS FULL| T    |     9 |    81 |     3   (0)| 00:00:01 | 

---------------------------------------------------------------------------- 

统计信息

---------------------------------------------------------

          1  recursive calls

          0  db block gets

         14  consistent gets 

          0  physical reads 

          0  redo size 

        642  bytes sent via SQL*Net to client  

        415  bytes received via SQL*Net from client

          2  SQL*Net roundtrips to/from client

          2  sorts (memory) 

          0  sorts (disk) 

         10  rows processed  

SQL> select id ,name ,text from t1

  2  intersect

  3  select id ,name ,text from t;

        ID NAM TEX

---------- --- ---     

         1 a1  b1      

         1 a1  b2      

         1 a1  b3      

         1 a2  b1      

         1 a2  b2      

         1 a2  b3      

         2 a2  b1      

         2 a2  b3

已选择8行。

执行计划

---------------------------------------------------------

Plan hash value: 2269807545

----------------------------------------------------------------------------

| Id  | Operation           | Name | Rows  | Bytes | Cost (%CPU)| Time     |

----------------------------------------------------------------------------

|   0 | SELECT STATEMENT    |      |     9 |   270 |     9  (56)| 00:00:01 | 

|   1 |  INTERSECTION       |      |       |       |            |          | 

|   2 |   SORT UNIQUE       |      |    21 |   189 |     5  (20)| 00:00:01 | 

|   3 |    TABLE ACCESS FULL| T1   |    21 |   189 |     4   (0)| 00:00:01 | 

|   4 |   SORT UNIQUE       |      |     9 |    81 |     4  (25)| 00:00:01 |

|   5 |    TABLE ACCESS FULL| T    |     9 |    81 |     3   (0)| 00:00:01 |

----------------------------------------------------------------------------

统计信息

----------------------------------------------------------

          1  recursive calls 

          0  db block gets 

         14  consistent gets 

          0  physical reads 

          0  redo size  

        620  bytes sent via SQL*Net to client

        415  bytes received via SQL*Net from client

          2  SQL*Net roundtrips to/from client  

          2  sorts (memory)   

          0  sorts (disk)  

          8  rows processed 

SQL> select id ,name ,text from t

  2  intersect

  3  select id ,name ,text from t1;

        ID NAM TEX     

---------- --- ---     

         1 a1  b1      

         1 a1  b2      

         1 a1  b3      

         1 a2  b1      

         1 a2  b2      

         1 a2  b3      

         2 a2  b1      

         2 a2  b3  

已选择8行。

执行计划

---------------------------------------------------------- 

Plan hash value: 3938425003  

----------------------------------------------------------------------------

| Id  | Operation           | Name | Rows  | Bytes | Cost (%CPU)| Time     | 

---------------------------------------------------------------------------- 

|   0 | SELECT STATEMENT    |      |     9 |   270 |     9  (67)| 00:00:01 | 

|   1 |  INTERSECTION       |      |       |       |            |          | 

|   2 |   SORT UNIQUE       |      |     9 |    81 |     4  (25)| 00:00:01 | 

|   3 |    TABLE ACCESS FULL| T    |     9 |    81 |     3   (0)| 00:00:01 | 

|   4 |   SORT UNIQUE       |      |    21 |   189 |     5  (20)| 00:00:01 | 

|   5 |    TABLE ACCESS FULL| T1   |    21 |   189 |     4   (0)| 00:00:01 | 

---------------------------------------------------------------------------- 

统计信息

---------------------------------------------------------- 

          1  recursive calls    

          0  db block gets  

         14  consistent gets  

          0  physical reads   

          0  redo size      

        620  bytes sent via SQL*Net to client

        415  bytes received via SQL*Net from client 

          2  SQL*Net roundtrips to/from client  

          2  sorts (memory)  

          0  sorts (disk) 

          8  rows processed                                                                      

所有的结果都是全量排序!

时间: 2025-01-20 22:50:58

【SQL 学习】minus 和intsect 的排序方式!的相关文章

sql学习大全

学会数据库是很实用D~~记录一些常用的sql语句...有入门有提高有见都没见过的...好全...收藏下...其实一般用的就 学会数据库是很实用D~~记录一些常用的sql语句...有入门有提高有见都没见过的...好全...收藏下...其实一般用的就是查询,插入,删除等语句而已....但学学存储过程是好事...以后数据方面的东西就不用在程序里搞喽..而且程序与数据库只要一个来回通讯就可以搞定所有数据的操作.... 一.基础 1.说明:创建数据库 Create DATABASE database-na

MySQL的字符集和排序方式

字符串类型 MySQL的字符串分为两大类: 1)二进制字符串:即一串字节序列,对字节的解释不涉及字符集,因此它没有字符集和排序方式的概念 2)非二进制字符串:由字符构成的序列,字符集用来解释字符串的内容,排序方式决定字符的大小 字符集和排序方式 字符集和排序方式的关系是这样的:一个字符集可以有一个或多个排序方式,有一个默认的排序方式,我们可以通过 以下例子说明: mysql> show character set like '%gbk%'; +---------+----------------

关于排序方式和排序字段用参数传递的问题

问题描述 RT我想用参数来传递排序字段和排序方式,可老上提示语法错误,请高手帮忙!stringsql="select*fromStudent@SortWay";//stringsql="select*fromStudentOrderbyId@SortWay";SqlParameterparm=newSqlParameter("@SortWay",sortWay);老是出现语法错误,试了好多个了,难道sql语句里这样没有办法实现吗?看了好多存储过程

php多维数组的排序方式

例如我有一个多维数组$relationshop_list,其中有id,与sort两列,我希望数组按照id降序,sort降序的方式排列:  //排序 $array_field = array_column($relationshop_list,'sort'); //提出sort列 $array_id = array_column($relationshop_list,'id');      //提出id列 array_multisort($array_field,SORT_DESC,$array_

《SQL学习指南(第2版)(修订版)》——1.2 什么是SQL

1.2 什么是SQL SQL学习指南(第2版)(修订版)根据Codd对关系模型的定义,他提出一种名为DSL/Alpha的语言,用于操控关系表的数据.在Codd的论文发表后不久,IBM建立了一个研究小组来根据他的想法构建原型.该小组创建了一个DSL/Alpha的简化版本,即SQUARE,然后通过对SQUARE的改进,将之发展为SEQUEL语言,并最终命名为SQL. 今天SQL已经发展到了中年期(唉,就像作者一样),在这期间它经历了大量修改.在20世纪80年代中期,美国国家标准组织(ANSI)开始制

如果所有记录的date都相同,按date降序排列,得到的结果按什么排序方式?

问题描述 oracle中如果所有记录的date都相同,按date降序排列,得到的结果按什么排序方式?因为date都相同,总要有个date相同条件下的排序规则. 问题补充:我试了下,不行,没有按照rowid排ROWID ID NAME DATE_TIME--------------------------------------AAAHrhAABAAANHCAAA 4255 A 2011-3-1AAAHrhAABAAANHCAAB 4088 C 2011-3-1AAAHrhAABAAANHCAAC

《Oracle SQL疑难解析》——1.14 排序

1.14 排序 Oracle SQL疑难解析 1.14.1 要解决的问题 我们的文本数据混合了大写.小写字母和句子(英文句子,指第一个字母大写,后续字母小写).我们希望把这些数据按字母顺序.大小写顺序进行排列. 1.14.2 解决方法 我们先在HR.EMPLOYEES表中创建一些混合大小写的数据.运行下面的UPDATE语句,把William Smith's的姓(last_name)改为大写: update hr.employees set last_name = 'SMITH' where em

口碑网李治国:以公平的排序方式立足于整个市场

本地搜索是本地化生活社区的重要工具,贯穿分类信息和生活黄页等内容,在美国已占有1/4以上搜索市场,在韩国已经超过30%市场,但在中国,这个领域刚刚起步. 2004年6月8日,李治国先生和其他几位创业团队成员创办了口碑网,现有会员已经超过300万.口碑网致力于做百姓的生活好向导,目前已是中国最大的本地化"吃.住.玩"生活社区之一.近日艾瑞网独家专访了口碑网CEO李治国,请他分享本地搜索网站的运营经验. 广告是目前最简单也是最大的市场 艾瑞网:首先想请您谈谈对未来盈利方式的一些看法? 李治

排序方式解决“上下主题”问题(一)

解决|排序|问题 近来不少网友提到论坛"上一主题""下一主题"的显示问题,我使用另一种排序方式解决的,写出来,听听高手的意见. 数据库: ID:贴子的id号,自动编号OrderID:排序基数,以下详细描述...数据: 主体贴:第一个主题贴OrderID为aaaaaaz(其中的6个a是为了这个版面上最多可以有999999*26条主题贴,当然,您可以根据自己的需要更改.z作为排序的识别码,永远无变化.),第二个主题贴为aaaaabz,就是说,每增加一个主题贴,Order