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
本章节主要关注的是连接查询和子查询,这两种方法是数据库查询中的高级技术,尤其对于初学者来说,理解并掌握它们至关重要。 T-SQL(Transact-SQL)是SQL Server所使用的扩展SQL语言,用于管理和处理SQL Server...
数据库连接查询和子查询 数据库连接查询和子查询是数据库查询语言中两个重要的概念。连接查询是指将两个或多个表连接起来,以便从多个表中检索数据。子查询是指在 WHERE 或 HAVING 子句中使用的SELECT语句。 连接...
【SQL子查询、内连接和外连接查询】 在SQL中,子查询、内连接和外连接是进行复杂数据检索的关键工具。这些概念的理解和熟练应用对于数据库管理与数据分析至关重要。 **子查询** 是一个嵌套在其他SQL语句中的查询,...
4. **连接查询与子查询的结合**: 例子4展示了两种方式查询在"NEW YORK"地点工作的员工。第一种方法使用连接查询,通过JOIN操作连接EMP和DEPT表,然后筛选出地点为"NEW YORK"的员工。第二种方法使用子查询,在WHERE...
"数据库连接查询和子查询" 数据库连接查询和子查询是数据库管理系统中两种重要的查询方式。连接查询允许用户从多个相关表中检索数据,而子查询则允许用户在查询中嵌套另一个查询。下面是对这两种查询方式的详细介绍...
在Oracle中,连接查询和子查询以及存储过程与触发器是数据库管理与开发中的核心概念,下面将对这些主题进行深入讲解。 首先,让我们探讨**连接查询**。在数据库操作中,连接查询用于合并两个或更多表的数据,根据...
这是数据库和pycharm之间的连接,以及子查询和连接查询
里面有很多案例,有比较详细的注释。一般用于初学者、
3.连接查询和子查询.sql
实验报告主要涵盖了数据库系统的基本操作,特别是MySQL中的分组查询、多表连接和子查询的运用。以下是对这些知识点的详细解释: 1. **GROUP BY 语句与聚合函数**: GROUP BY 语句用于将数据分组,通常与聚合函数如...
在Oracle中,表连接和子查询是两种关键的查询技术,用于从多个表中获取数据和执行复杂的逻辑。 首先,我们来看看表连接。表连接允许我们将两个或多个相关表的数据合并在一起,以便在一个查询中同时获取多个表的信息...
【SQL查询与子查询组合】 SQL (Structured Query Language) 是用于管理和处理数据库的标准语言,而SQL Server 2000是Microsoft提供的一款关系型数据库管理系统。在这个实验中,你将学习如何使用SQL Server 2000的...
【推选】数据库的连接查询和子查询PPT资料.ppt
4. 连接查询与子查询:这两种方法都可以找到同时选修了课程'1'和'2'的学生,但子查询通常更易于理解。 **二、使用比较运算的子查询** 1. 例如,查询比"刘晨"年龄小的所有学生,这可以通过比较子查询返回的"刘晨...
此外,Gbase 8s 还支持使用子查询和 EXISTS 子句来实现连接查询。子查询是指在 SELECT 语句中嵌套另一个 SELECT 语句,以便获取相关数据。EXISTS 子句是指在 WHERE 子句中使用子查询,以便判断某个条件是否存在。 ...
1. 连接查询与子查询:这是在处理多个表间关系时常见的查询方式,例如,通过INNER JOIN、LEFT JOIN、RIGHT JOIN或FULL JOIN实现数据关联,以及使用子查询来获取更复杂的数据筛选条件。 2. 统计查询与创建查询结果集...
- **表连接**:外部`JOIN`语句将`emp`表与子查询结果进行连接,条件是员工的薪资等于其所在部门的最大薪资,并且部门编号也匹配。 - **应用场景**:用于找出每个部门薪资最高的员工。 #### 二、部门平均薪资对应的...
- **连接查询与子查询**(10分钟) - 教师会讲解如何使用JOIN操作连接多个表以获取所需信息,以及如何使用子查询来在主查询中嵌套一个或多个查询,以满足更复杂的查询需求。 - **统计查询与创建查询结果集**(15...
4. 子查询与连接(JOIN): - 子查询通常可以被JOIN操作替换,两者在某些场景下可互换,但子查询提供了一种更灵活的处理方式,尤其是在处理复杂的逻辑时。 5. 与集合操作符的结合: - UNION、UNION ALL、...