首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Oracle 多行、多列子查询

本文使用到的是oracle数据库scott方案所带的表,scott是oracle数据库自带的方案,使用前请确保其解锁 一、多行查询 多行查询查询是嵌入在其他Sql语句中的select语句,Oracle...查询分为两种:一种是单行查询,一种是多行查询 1、单行查询 单行查询的select语句只返回一行数据,也就是说嵌入在其他Sql语句中的那个select查询值返回一行数据。...);--这里的select查询只返回一行数据 所以,我们把子查询的嵌入的select语句至返回一行数据的这类查询,称为单行查询 2、多行查询 了解了单行查询的原理,那么多行查询自然而然的就知道了...,多行查询就是嵌入在其他Sql语句中的select查询返回多行数据 例:查询所有员工中工作和部门10的工作一样的员工信息 select * from emp where job in (select...sal from emp where deptno=30) --这里的select查询返回多行记录 执行sql之后发现和=是一样的问题,因为'>'表示一对一的关系,而查询返回多个结果集,所以报错了

2.2K70
您找到你想要的搜索结果了吗?
是的
没有找到

SQL之美 - Oracle 查询优化系列精讲

本系列经典文章 之一:标量子查询优化 之二:OR展开与查询优化案例详解。 今天是系列第三讲:IN查询返回结果集异常 作者简介: ?...黄廷忠(网名:认真就输) 云和恩墨技术专家 个人博客:http://www.htz.pw/ 正文 这是我们在一个客户现场遇到的一条SQL性能问题,此SQL查询结果集返回最多10行,但是整个SQL的性能切不好...那么redu_owner_id返回的结果集将直接影响整个SQL性能的好坏。 下面继续查看SQL部分,可以发现一个重要的信息就是在查询中存在rownum<10,也就意味查询最多返回10行。...在OLTP系统中,存在一个表最后最多返回10行的情况,这里也就大概想到了用查询做去驱动表了,如果执行计划中,没有用查询做驱动表,那么很有肯能执行计划就是错误的,那么这里的自己认为的驱动表与之前根据SQL...在上面提到了查询中最多返回10行,可以用于做NL的驱动,要让查询的表做驱动表,应该怎么来修改SQL?

2.1K40

SQL 基础--> 查询

--========================= --SQL 基础--> 查询 --========================= /* 一、查询 查询就是位于SELECT、UPDATE...、或DELETE语句中内部的查询 二、查询的分类 单行查询 返回零行或一行 多行查询 返回一行或多行 多列子查询 返回多列 相关子查询 引用外部SQL语句中的一列或多列 嵌套子查询...只有在执行排序Top-N分析时,查询中才需要使用ORDER BY 子句 单行运算符用于单行查询多行运算符用于多行查询 五、单行查询 仅返回一行 使用单行的表较运算符:= ,>, >...emp 6 where mgr = 8000); no rows selected /* 六、多行查询 返回多个行 使用多行比较运算符IN ,ANY ,ALL 在多行查询中使用IN...管理Oracle实例 Oracle实例和Oracle数据库(Oracle体系结构) SQL 基础-->常用函数 SQL基础-->过滤和排序 SQL 基础-->SELECT 查询

1.8K20

Oracle学习(六):查询

单行查询只能使用单行操作符;多行查询只能使用多行操作符 SQL> --10. 注意查询中null SQL> --部分注意问题举例 SQL> --3....max(sal) from emp where deptno=30) SQL> --多行查询中null值问题 SQL> --集合中有null值不能使用not in,但可以使用in SQL> --查询不是老板的员工信息...不可以在group by后面放置查询 SQL> 5. 强调from后面放置查询 SQL> 6. 主查询查询可以不是同一张表,只要子查询返回的结果,主查询可以使用,即可 SQL> 7....单行查询只能使用单行操作符;多行查询只能使用多行操作符 SQL> 10. 注意查询中null SQL> */ SQL> --3....> host cls SQL> --多行查询中null值 SQL> --查询不是老板的员工信息 SQL> select * from emp; EMPNO ENAME JOB

87480

Oracle多表查询查询实战练习

DENSE_RANK() OVER(PARTITION BY DEPTNO ORDER BY SAL DESC)RN FROM EMP) WHERE RN=1 ORDER BY DEPTNO; --使用IN查询...DEPTNO,SAL FROM EMP WHERE SAL IN(SELECT MAX(SAL) FROM EMP GROUP BY DEPTNO) ORDER BY DEPTNO; --测试上面的IN查询...JOB为CLERK的所有部门编号,将该查询结果命名为A;2.再从EMP表查询与A查询中部门编号相同的员工所在的部门人数,这一步的查询结果命名为B;3.最后从EMP表、DEPT表和B查询中进行多表查询获取...8.列出从事同一种工作但属于不同部门的员工的一种组合 --不算完美但算比较接近题意的SQL语句 SELECT DISTINCT E.EMPNO,E.ENAME,E.JOB,E.DEPTNO FROM EMP...如果不使用DISTINCT,查询结果会出现很多一样的重复数据!*/ 分析:为什么说上面的SQL语句不算完美呢?

1.4K10

sql连接查询和嵌套查询_sql查询和连接查询

select 完整语法: 现在一共有三张表,分别为:subject、grade、result subject 表: grade 表: result 表: 连接查询:有左连接、右连接、内连接、外连接...【例一】:查询科目所属的年级(科目名称、年级名称) sql 语句: 结果: 图片 =================================== 【例二】:查询 JAVA第一学年 课程成绩排名前十的学生...并且分数要大于80 的学生信息(学号、姓名、课程名称、分数) sql 语句: 结果: =================================== 【例三】:查询数据库结构-1 的所有考试结果...(学号、科目编号、成绩),降序排列 方式一: 连接查询 方式二: 查询 结果: =================================== 自连接:查询父子信息,把一张表看成两张一样的表...现在有一张包含父关系的,名为 category 的数据表: 我们把这一张表拆分成两张表: 执行 sql 语句: 结果: 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

4.4K10

sql嵌套查询和连接查询_sql查询嵌套规则

多值嵌套查询 查询的返回结果是一列值的嵌套查询称为多值嵌套查询。若某个查询的返回值不止一个,则必须指明在WHERE子句中应怎样使用这些返回值。...ANY 用法: ANY() 用法说明:满足查询中任意一个值的记录 SELECT employee_id,wages FROM employee WHERE department_id=’D001′ AND...wages>ANY ( SELECT wages FROM employee WHERE department_id=’D002′ ) 2,ALL运算符的用法 ALL用法: ALL() 用法说明:满足查询中所有值的记录...SELECT wages FROM employee WHERE department_id=’D002′ ) 3,IN运算符的用法 IN用法:IN或者IN() 用法说明:字段内容是结果集合或者查询中的内容...所以,在Transact-SQL中推荐使用这种方法。

3.9K30

sql连接查询

本文链接:https://blog.csdn.net/luo4105/article/details/51397825 一直没有注重于sql这一块,现在的项目有大量的统计,报表,以前都是多表连接或者用...mybatis的延迟加载之类的,这几天心血来潮自己查了一下,发现了sql查询这个好东西,感觉方便多了,速度也快多了(自我感觉)。...sql查询是可以在把数据查出来后在查出一条其他表的关联数据的一项(多项或者多条都会报错), 比如我们要查询用户表(user)并加上一个列(rolename)表示它代表的权限的名字,那么我们可以这么写...span style="font-family: Arial, Helvetica, sans-serif;">) as a from user 甚至我们还可以添加一些常量进去(对于sql...select rolename form role where roleId=user.roleId) as rolename,'2016-05-13' as nowTime from user 这sql

3.3K20

数据库sql嵌套查询题_sql查询嵌套优化

一、嵌套查询概念 在sql语言中,一个select-from-where语句成为一个查询块,将一个查询块嵌套在另一个查询块的where子句或having短语的条件中的查询成为嵌套查询。...嵌套查询分类: 1、相关子查询/关联查询查询查询条件依赖于父查询,比如,如果子查询需要执行多次,即采用循环的方式,先从外部查询开始,每次都传入查询进行查询,然后再将结果反馈给外部,这种嵌套的执行方式就称为关联查询...2、不相关子查询/非相关子查询查询查询条件不依赖于父查询,比如:查询从数据表中查询了数据结果,这个数据结果只执行一次,然后这个数据结果作为主查询的条件进行执行,这样的查询叫做非关联查询。...二、嵌套查询方式 2.1 带有比较运算符的查询 带有比较运算符的查询是指父查询查询之间用比较运算符连接,当用户能确切知道子查询返回的是单个值时,可以用带有比较运算符的查询; 比较运算符:...一旦找到第一个匹配的记录后,就马上停止查找。

2.6K10

Oracle函数学习(单表查询查询

–单表查询: –当需要的数据在一张表中,考虑使用单表查询 –多表联合查询: –当需要查询的数据分布在多张表中,考虑使用多表联合 –查询学习: –使用时机:当查询的筛选条件不明确时,考虑使用查询...–单行查询多行查询 –单行查询: –使用时机:筛选条件不明确需要执行一次查询,并且查询结果一个字段并值只有一个 –注意:where子句中允许出现查询语句,该查询语句称为查询 –使用:select...select job from emp where ename=‘SCOTT’) or hiredate <(select hiredate from emp where ename=‘SCOTT’) ----多行查询...: --使用:查询的结果只有一个字段但是字段有n个值,考虑使用多行查询,其实就是使用关键字 --关键字1:any 任意 --select 内容 from 表名 where 字段名...比较运算符 any 查询语句 --关键字2:all 所有 --select 内容 from 表名 where 字段名 比较运算符 all 查询语句 --关键字3:in

87220

Oracle常用经典SQL查询(一)

注:本文的查询测试以oracle11.2.0.4.0企业版作为查询测试,截图只是为了证明SQL的可用性及正确性,查询结果因测试环境不同各有差异。...object_type, status; 8、查看数据库的版本 Select version FROM Product_component_version Where SUBSTR(PRODUCT,1,6)='Oracle...'; 9、查看数据库的创建日期和归档方式 Select Created, Log_Mode, Log_Mode From V$Database; 10、捕捉运行很久的SQL column username...from v$session_longops , v$sql where time_remaining 0 and sql_address = address and sql_hash_value...= hash_value / oracle最大的痛苦就是SQL的一个一个写,写完了敲回车执行后发些执行错误想修改缺不能上下翻,写错了也不能用左右键移动光标,嗯,我觉得要装一个PLSQL工具了。

77860
领券