oracle标量子查询 外层,Oracle标量子查询
Oracle标量子查询
ORACLE允许在select子句中包含单行子查询, 使用标量子查询可以有效的改善性能,当使用到外部连接,或者使用到了聚合函数,就可以考虑标量子查询的可能性。
下面来看几个例子,来了解标量子查询的用法:
1.生成模拟数据
CREATE TABLE TEST1(ID INT);
CREATE TABLE TEST2(ID INT);
INSERT INTO TEST1 VALUES(1);
INSERT INTO TEST1 VALUES(2);
INSERT INTO TEST1 VALUES(3);
INSERT INTO TEST2 VALUES(1);
INSERT INTO TEST2 VALUES(2);
COMMIT;
admin@ORCL> SELECT ID,(SELECT ID FROM TEST2 WHERE TEST1.ID = TEST2.ID) ID2 FROM TEST1;
ID ID2
---------- ----------
1 1
2 2
3
从上面的结果可以看出标量子查询的表相当于是外连接中的内表,数据结果等价于下面的sql:
admin@ORCL> SELECT * FROM TEST1,TEST2 WHERE TEST1.ID = TEST2.ID(+);
ID ID
---------- ----------
1 1
2 2
3
2.
admin@ORCL> SELECT A.USERNAME,
2 (SELECT COUNT(*) FROM ALL_OBJECTS B WHERE A.USERNAME = B.OWNER) AS OBJ_CNT
3 FROM ALL_USERS A
4 WHERE A.USERNAME IN ('DIP', 'BI', 'HR');
USERNAME OBJ_CNT
------------------------------ ----------
BI 8
DIP 0
HR 35
查询结果等价于
admin@ORCL> SELECT A.USERNAME, COUNT(B.OBJECT_ID)
2 FROM ALL_USERS A, ALL_OBJECTS B
3 WHERE A.USERNAME = B.OWNER(+)
4 AND A.USERNAME IN ('DIP', 'BI', 'HR')
5 GROUP BY A.USERNAME;
USERNAME COUNT(B.OBJECT_ID)
------------------------------ ------------------
DIP 0
HR 35
BI 8
PS:
若把COUNT(B.OBJECT_ID)换成" * " 的话,DIP用户的COUNT值为1,这对于实际结果是不对的。
http://www.dengb.com/oracle/481874.htmlwww.dengb.comtruehttp://www.dengb.com/oracle/481874.htmlTechArticleOracle标量子查询 ORACLE允许在select子句中包含单行子查询, 使用标量子查询可以有效的改善性能,当使用到外部连接,或者使用到了聚合函数...
oracle标量子查询 外层,Oracle标量子查询相关推荐
- Oracle入门--水表项目(单表查询,链接查询,左右外连接,子查询,分页查询)(3)
水表项目建表 1.1.1 分析 1.1.2 SQL实现 表结构 -- <自来水公司收费系统> -- 1 业主类型表 create table t_ownertype(id number p ...
- order by 子查询_视图,子查询,标量子查询,关联子查询
视图 子查询 标量子查询 关联子查询 如何用SQL解决业务问题 各种函数 1. 视图 视图内存放SQL查询语句,运行时运行该语句.查出的数据为临时数据 创建视图 create view as 视图名称 ...
- oracle “**with as**”短语,也叫做子查询部分。
oracle "with as"短语,也叫做子查询部分. 如果一个sql片段被重复使用或者sql本身比较繁琐,可以考虑将sql片段单独拿出来,起一个别名. 例: withe as ...
- Oracle数据库:子查询、单行子查询,多行子查询,in,any,all语句,子查询的练习案例
Oracle数据库:子查询.单行子查询,多行子查询,in,any,all语句,子查询的练习案例 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 ...
- Oracle的子查询【单行子查询和多行子查询】
1.查询部分分为主查询和子查询: 2.根据返回值的记录多少分为单行子查询和多行子查询:单行子查询用单行比较符=连接:多行子查询用多行比较符in连接: 3.子查询的内容可以放在FROM后面,也可以放在W ...
- Oracle笔记(六) 多表查询、统计函数及分组查询、子查询
本次预计讲解的知识点 1. 多表查询的操作.限制.笛卡尔积的问题: 2. 统计函数及分组统计的操作: 3. 子查询的操作,并且结合限定查询.数据排序.多表查询.统计查询一起完成各个复杂查询的操作: 一 ...
- oracle 查询 ppt,oracle子查询.ppt
<oracle子查询.ppt>由会员分享,可在线阅读,更多相关<oracle子查询.ppt(26页珍藏版)>请在人人文库网上搜索. 1.子查询,目标,通过本章学习,您将可以: ...
- Oracle数据库SQL语句(四)—子查询(嵌套查询)
Oracle数据库SQL语句(四) 子查询(嵌套查询) 1.单行子查询 SELECT * FROM stuWHERE ID > (SELECT ID FROM stu WHERE NAME =' ...
- oracle之子查询_,Oracle子查询详解
Oracle子查询详解,根据查询的结果(内部嵌套查询的结果)把子查询的类型分为单行子查询与多行子查询, 子查询概念 :当一个查询的结果是另一个查询的条件时,,称之为子查询. 使用子查询注意事项: 子查 ...
最新文章
- tbox新增stackless协程支持
- 【个人申明】主要发表平台迁至简书和公众号
- 程序员修神之路--分布式系统使用网关到底是好还是坏?
- install npm 到某个文件下执行_你可能不知道的 npm 依赖管理那些事
- python跨文件复制sheet_Python办公自动化-工作表复制(可跨文件)
- ZBrush软件特性之Color调控板
- XTP: 从XTP看Rust与C++接口FFI通信
- 带你认识PLC输入的源型与漏型接法
- “舌战群儒”的技术分析
- 微星笔记本安装Ubuntu桌面版
- 服务器安全-Dos-Deflate
- nyoj71独木舟上的旅行
- dashboard android,Dashboard软件下载
- C语言等待一秒,延时函数sleep()
- dnf锁定计算机,DNF老电脑福音 教你如何提升游戏流畅度
- 【定语从句练习题】 which 修饰句子
- 智合同丨智能合同审查·赋能合同智能应用
- OneNote遇到临时服务器无法登录的问题
- HS9148红外遥控解码
- redis高可用集群
热门文章
- FaceShifter:新的人脸交换模型
- 2020年度总结-送你一张腾讯视频VIP月卡
- android am stop 命令,如何使用am命令启动Android应用
- java毕业设计汽车租赁系统演示录像源码+lw文档+mybatis+系统+mysql数据库+调试
- WCS仓库(分拣)控制系统 案例介绍
- mx播放器有没有投屏功能_芝杜DLNA投屏功能
- 《人工智能的明天,中国去哪儿》---汤晓鸥
- 淘客公众号系统要用到服务器吗,公众号淘客分销系统你用了吗?
- 大数据治理平台建设与应用解决方案
- spark概述以及原理架构