in oracle :
在一个查询中有许多条件相同的子查询,但需要的值不同。例如:
SQL 1:
select
(select u.name from user u where u.id = i.id) as name,
(select u.nick_name from user u where u.id = i.id) as nick_name,
(select u.create_date from user u where u.id = i.id) as create_date,
i.title as title,
i.content as content
from info i
这个 SQL 里面有三个子查询,并且是同样的查询条件,应该能够进行优化.
也可以改为连接查询:
SQL 2:
select
u.name as name,
u.nick_name as nick_name,
u.create_date as create_date,
i.title as title,
i.content as content
from info i join user u on i.id = u.id
有两个问题要请教大家:
1. SQL 1 的子查询明显可以优化, 问题是怎么将子 SQL 提出来,做为一个对象使用,就像连接查询中 u.name , u.nick_name... 这样使用, 知道的一个办法就是使用连接查询,还有没有其他的办法,比如使用 pl/sql.
2. SQL 2 的连接查询,如果 user 表中有太多的字段和若干索引,会不会将 user 表中的所和索引都检索一遍, 从而大大影响了效率?
请大家基于 oracle 9i 以上版本进行讨论.
关于这两个查询有篇不错的文章:
http://hi.baidu.com/round_365/blog/item/4bdf1e23f00f304d9258078d.html
分享到:
相关推荐
1_连接查询与子查询示例.sql
CH2_数据查询_连接查询与子查询,对刚开始学数据库的有用文件。
数据库连接查询、子查询、嵌套查询、汇总数据
2.体会各种查询的异同及相互之间的转换,体会各种查询的执行过程,为综合应用打下良好的基础。 ● 查询没有选修指定课程号的学生的学号、姓名、性别、出生日期和级别。课程号由局部变量提供。 declare @Cno char...
这是数据库和pycharm之间的连接,以及子查询和连接查询
2. 掌握多表连接查询、子查询的基本概念。 3. 掌握多表连接的各种方法,包括内连接、外连接等。 4. 掌握子查询的方法,包括相关子查询和不相关子查询。 实验内容及实验器材: 一、实验内容 分组查询、多表连接查询...
里面有很多案例,有比较详细的注释。一般用于初学者、
3.连接查询和子查询.sql
【推选】数据库的连接查询和子查询PPT资料.ppt
oracle表连接和子查询实例 所有的实例查询都包含在里面,不会担心笔试oracle子查询。
5、子查询 6、合并查询结果 7、为表和字段取别名 8、使用正则表达式查询 什么是查询? 怎么查的? 数据的准备如下: [sql] view plain copy create table STUDENT( STU_ID int primary KEY, STU_NAME char(10) ...
数据库的连接查询和子查询(共30张PPT)精选.pptx
orcale表连接和子查询,主要简述Orcale中如何链表查询和一些常用的查询语句
3.子查询及组合 4.数据控制、数据导入/导出、数据备份和恢复 实验1 SQL SEVER 2000的系统工具、使用交互方式建库、建表实验 实验目的和要求:了解SQL SEVER 2000的功能及组成,熟练掌握利用SQL SEVER 2000企业管理...
本文实例讲述了mysql连接查询、联合查询、子查询原理与用法。分享给大家供大家参考,具体如下: 本文内容: 连接查询 联合查询 子查询 from子查询 where子查询 exists子查询 首发日期:2018-04-11 连接查询...
oracle sql 多表连接和子查询 oracle sql 多表连接和子查询
oracle select group 子查询 表连接
面试必刷:MySQL练习题-基础查询(子查询、连接查询、分组查询...)
常用SQL查询技术、比较逻辑运算符查询、SQL关键字查询、表结构与性能、时间与谓词、聚合函数、子查询与连接查询、交叉表、常用数据操作高级应用、试图存储过程和触发器的使用。。。。。。。
随机选择记录;四表联查问题;in 的使用方法;外连接查询;子查询等等