【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                                                                      
所有的结果都是全量排序!
相关文章
|
1月前
|
SQL 安全 前端开发
Web学习_SQL注入_联合查询注入
联合查询注入是一种强大的SQL注入攻击方式,攻击者可以通过 `UNION`语句合并多个查询的结果,从而获取敏感信息。防御SQL注入需要多层次的措施,包括使用预处理语句和参数化查询、输入验证和过滤、最小权限原则、隐藏错误信息以及使用Web应用防火墙。通过这些措施,可以有效地提高Web应用程序的安全性,防止SQL注入攻击。
52 2
|
1月前
|
SQL 关系型数据库 MySQL
SQL中,可以使用 `ORDER BY` 子句来实现排序功能
【10月更文挑战第26天】SQL中,可以使用 `ORDER BY` 子句来实现排序功能
97 6
|
2月前
|
SQL 存储 数据库
SQL学习一:ACID四个特性,CURD基本操作,常用关键字,常用聚合函数,五个约束,综合题
这篇文章是关于SQL基础知识的全面介绍,包括ACID特性、CURD操作、常用关键字、聚合函数、约束以及索引的创建和使用,并通过综合题目来巩固学习。
50 1
|
4月前
|
SQL 存储 关系型数据库
PostgreSQL核心之SQL基础学习
PostgreSQL核心之SQL基础学习
59 3
|
6月前
|
SQL 存储 Java
SQL数据库学习指南:从基础到高级
SQL数据库学习指南:从基础到高级
|
5月前
|
SQL 存储 关系型数据库
关系型数据库SQL Server学习
【7月更文挑战第4天】
85 2
|
6月前
|
SQL 数据库
零基础学习数据库SQL语句之操作表中数据的DML语句
零基础学习数据库SQL语句之操作表中数据的DML语句
63 0
零基础学习数据库SQL语句之操作表中数据的DML语句
|
5月前
|
SQL 关系型数据库 MySQL
sql 学习
sql 学习
|
5月前
|
SQL 存储 Java
SQL数据库学习指南:从基础到高级
SQL数据库学习指南:从基础到高级
|
6月前
|
SQL 前端开发 关系型数据库
零基础学习数据库SQL语句之查询表中数据的DQL语句
零基础学习数据库SQL语句之查询表中数据的DQL语句
39 0
下一篇
DataWorks