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

SQL 基础--> 查询

、或DELETE语句中内部的查询 二、查询的分类 单行查询 返回零行或一行 多行查询 返回一行或多行 多列子查询 返回多列 相关子查询 引用外部SQL语句中的一列或多列 嵌套子查询...FROM table); /* 查询(内部查询)执行主查询之前执行一次 然后主查询(外部查询)会使用该查询的结果 四、查询的规则 将查询括号查询放置比较条件的右侧...只有执行排序Top-N分析时,查询才需要使用ORDER BY 子句 单行运算符用于单行查询多行运算符用于多行查询 五、单行查询返回一行 使用单行的表较运算符:= ,>, >...EMPNO ENAME ---------- ---------- 7369 SMITH 7566 JONES 7788 SCOTT 7876 ADAMS 7902 FORD --单行查询的常见错误...emp 6 where mgr = 8000); no rows selected /* 六、多行查询 返回多个行 使用多行比较运算符IN ,ANY ,ALL 多行查询中使用IN

1.8K20

Oracle高级查询-imooc

05:24)  4-11 [Oracle] 单行查询多行查询 (16:18)  4-12 [Oracle] 查询的空值问题 (08:24) 第5章 案例集锦 本章通过4个案例的介绍,巩固了所学知识...【语句只返回一条记录就是单行查询返回多条记录就是多行查询】 select empno,ename,sal,(select job from emp) from emp; -- ORA-01427:...单行查询返回多个行 select empno,ename,sal,(select job from emp where ename='KING') a from emp; 4、不可以group...,多行查询只能使用多行操作符; 单行查询操作符:=,,=, select *  from emp  where job=(select job from emp where...需要进行两个表的连接查询,为两个表都取别名 使用instr(a,b)函数,该函数的含义为:如果字符串b字符串a里面,则返回的是ba的位置,即返回值大于0 需要用到分组查询 使用wm_concat

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

SQL为王:oracle标量子查询和表连接改写

Oracle允许select子句中包含单行查询,这个也就是oracle的标量子查询,标量子查询有点类似于外连接,当使用到外连接时我们可以灵活的将其转化为标量子查询。...关于标量子查询和表关联的性能简介: 如果主查询返回的数据较多,而查询又没有高效的索引,关联列对应的主查询表又没有较多的重复值,那么这个标量子查询的执行成本是很大的,如上面的标量子查询和外连接的sql...但是标量子查询oracle内部确是有优化的,优化器cache了中间的结果,如果结果集不大,查询又有高效的索引,那么这个标量子查询可能会比常规的表关联更加高效。...标量子查询中出现rownum=1或者rownum<2 原则上标量子查询中出现rownum表示该SQL本来就是不严谨的,加上ROWNUM=1更多是为了防止标量子查询返回多行而出现错误: ?...(select distinct dname from dept2 b where b.deptno=a.deptno) as dname,由于标量子查询只能返回单行,换句话说就是每个满足b.deptno

3.1K60

Oracle 多行、多列子查询

本文使用到的是oracle数据库scott方案所带的表,scott是oracle数据库自带的方案,使用前请确保其解锁 一、多行查询 多行查询查询是嵌入在其他Sql语句中的select语句,Oracle...查询分为两种:一种是单行查询,一种是多行查询 1、单行查询 单行查询的select语句只返回一行数据,也就是说嵌入在其他Sql语句中的那个select查询返回一行数据。...);--这里的select查询返回一行数据 所以,我们把子查询的嵌入的select语句至返回一行数据的这类查询,称为单行查询 2、多行查询 了解了单行查询的原理,那么多行查询自然而然的就知道了...deptno=10) --这里的select查询返回多行记录 3、多行查询的特殊操作符 虽然in能解决多行查询的=的问题,但是如果要和查询的结果集中的字段比较大小呢?...(select max(sal) from emp where deptno=30) 3.2、多行查询的any操作符 了解了all操作符之后,any操作符也就好理解了。

2.2K70

深圳软件测试学习:oracle数据库—查询--千锋

深圳软件测试学习:oracle数据库—查询--千锋 一个查询中继续包含另外一个查询,称为查询 查询可以出现在任意的位置:SELECT、FROM 、WHERE 查询的类型: · 单列子查询...:返回的结果是一列的一个内容,出现几率最高 · 单行查询返回多个列,有可能是一条完整的记录 · 多行查询返回多条记录 使用查询的时候注意一下事项: 1.查询必须用()括起来 2.查询不能包括...order by子句 3.查询允许嵌套多个,但是不要超过255个 一、单行查询 单行查询是指返回一行数据的查询语句。...案例:emp表查询不是最低工资的员工信息。...select * from emp where sal >(select min(sal) from emp); 二、多行查询 多行查询是指返回多行数据的查询语句,当在where子句中使用多行查询

67920

Oracle 数据库拾遗(四)

Oracle 数据库拾遗(四) 發佈於 2021-01-21 前面介绍的 SELECT 查询语句都是只有一个 SELECT-FROM-WHERE 形式的语句块,本篇再来看看查询。...对于含有查询的 SQL 语句来说,SQL 对其执行以下 3 个步骤: 执行查询,获取指定字段的返回结果 将查询的结果代入外部查询 根据外部查询的条件,输出 SELECT 子句中指定的列值记录...SELECT * FROM student WHERE SAGE=( SELECT MAX(SAGE) FROM student ); 用 IN 谓词实现多行查询 前面实例介绍的单行查询...,而在具体应用查询往往需要返回多个值,甚至是一个集合或一个表,那么就需要能处理多行的方法。...事实上,此处返回的结果仍然只有单行。 FROM 子句后的查询 前面的实例查询都是出现在 WHERE 子句后,作为条件来过滤不需要的记录行。事实上,查询也可以出现在 FROM 子句中。

1.1K30

Oracle总结【SQL细节、多表查询、分组查询、分页】

单行函数:输入一个参数,返回一个结果 多行函数:扫描多个参数,返回一个结果….一般地,多行函数和分组函数的概念是差不多的… Oracle提供了关于字符串函数、日期函数供我们对数据进行对应的操作,这里就不一一赘述了...查询出来的数据是单行单列的时候,一般我们都是用等于、大于等于、小于等操作符去限制查询条件… 如果是单列多行的时候,我们一般都是用IN、ANY、ALL操作符去筛选条件… 如果是多行多列,我们就看成该返回查询结果是一张表...这里写图片描述 那现在问题来了,Oracle中有的功能我们可以使用多表查询来完成,有的时候我们又可以使用查询来完成,那么我们一般选择哪一个呢???? 我们看下图来比较一下他们的优劣: ?...这里写图片描述 综上所述:Oracle中使用多表查询性能可能比查询好一些 ---- Oracle分页 讲解JDBC的时候,我们就已经讲过Oracle与Mysql的分页问题了….详情可以看我的博文:...那么Oracle分页的思路是这样子的: 先在查询获取前n条记录 由于返回的是多行多列,因此我们可以看做成一张表 那么将查询出来的数据放在from字句的后边 外套的查询可以通过where字句来对子查询出来的数据进行过滤

2.5K100

oracle 两表之间字段赋值错误解析

staff.c_recordtype = '7') ),0) 我们可以看到,在上面的代码充分估计到了空值的现象(nvl),并对可能的多条记录只取记录最新的列表,但依然可能报错 单行查询返回多个行或者...“ORA-01427:single-row subquery returns more than one row 这里就需要仔细查看自己的代码逻辑,一般来说是自己的代码逻辑出现了问题,如果确定没有问题...,则可能是数据库里面存在重复数据 这就需要对重复数据进行查询 select count(1),ts.c_empoid,ts.c_recordtime from TB_PER_STAFFRECORD...group by ts.c_empoid,ts.c_recordtime having count(1)>1 这就是对上面代码进行重复数据的查询...,从而找到了重复数据 重复数据的出现可能有很多,最常见的是代码设计阶段的循序渐进造成的,虽然不多,但报错之后影响查询,需要注意,另外一点,可以开发阶段专门用一个测试数据库,开发完成之后再进行回滚

11540

Oracle,什么是闪回版本查询(Flashback Version Query)?

题目部分 Oracle,什么是闪回版本查询(Flashback Version Query)?...答案部分 闪回版本查询(Flashback Version Query)是查询过去某个时间段或某个SCN段内表数据的变化情况。闪回版本查询基于回滚(Undo)表空间中的回滚信息实现。...SCN段;AS OF用于指定闪回查询查询的时间点或SCN。...闪回版本查询的目标列,可以使用下列几个伪列返回版本信息: l VERSIONS_STARTTIME:基于时间的版本有效范围的下界; l VERSIONS_STARTSCN:基于SCN的版本有效范围的下界...闪回版本查询注意事项: ① VERSIONS子句不能用于查询的表包括外部表、临时表和固定表。 ② 不能使用VERSIONS子句查询视图。但是,视图定义可使用VERSIONS子句。

33330

Oracle查询相关内容(包含TOP-N查询和分页查询)

本节介绍Oracle查询的相关内容: 实例用到的数据为oraclescott用户下的emp员工表,dept部门表,数据如下: 一、查询 1、概念:嵌入一个查询的另一个查询语句,也就是说一个查询作为另一个查询的条件...2、分类:(1)单行查询查询结果只返回一行数据       (2)多行查询查询结果返回多行数据,多行查询的操作符有IN,ALL,ANY,具体用法实例说明。...select ename,sal,deptno from emp where sal>all(select sal from emp where deptno=30); 此处用到了多行查询的ALL...二、oracleTOP-N查询: 概念:用于获取一个查询的前N条记录,需要借助rownum伪列来实现,rownum伪列,oracle为每个查询自动生成的伪列,物理上并不存在,查询中经常涉及多个表,但每个查询只有一列伪列...是因为oracle对select查询语句的执行顺序是先where条件后order by排序,也就是说先取了5行在对这5行进行排序,而正确的顺序应该是所有20,30部门的员工工资先进行排序取5行  三

77620

select 进阶查询语句

其中包括等值连接、不等值连接、外连接(左外连接、右外连接)自连接、层次查询查询(相关子查询)等语法。本文所操作的均是 oracle 下 scott 用户下的表。大家可参考查阅。..., oracle 中子查询是非常需要得到重视的,所以查询有如下十条规则。...)但是相关子查询除外 8、一般情况下不在查询中使用order by(排序没有太大意义)Top-N必须使用 order by 9、单行查询只能使用单行操作符,多行查询只能使用多行操作符 10、查询...null值 单行查询案例: select * from emp where sal > (select sal from emp where ename = ‘SCOTT’); 多行查询案例: 查询部门名称为...Oracle 分页 web 应用,经常会对数据库有分页的需求,Oracle 不像其他数据库,有非常简单的分页函数,只能通过其提供的一个伪列 rownum 来实现。看如下例子。

18420

【DB笔试面试612】Oracle查询转换包含哪些类型?

♣ 题目部分 Oracle查询转换包含哪些类型?...♣ 答案部分 Oracle数据库,用户发给Oracle让其执行的目标SQL和Oracle实际执行的SQL有可能是不同的,这是因为Oracle可能会对执行的目标SQL做等价改写,即查询转换。...,它是Oracle解析目标SQL的过程的非常重要的一步。...关于上表的内容需要注意以下几点: ① 查询展开通常都会提高原SQL的执行效率,因为如果原SQL不做查询展开,那么通常情况下该查询就会在其执行计划的最后一步才被执行,并且会走FILTER类型的执行计划...,这也就意味着对于外部查询所在结果集的每一条记录,该查询就会被执行多少次,这种执行方式的执行效率通常情况不会太高,尤其查询包含两个或两个以上表连接时,此时做查询展开后的执行效率往往会比走FILTER

1.3K20

数据库相关

sys查询Scott的表,需要添加用户名表明前 select * from tab;查询所有的表 查看数据表的结构DESC:desc emp; 执行host命令:host+命令 host dir...查询的语法格式并没有任何新的技术,类似于java的内部类,而且开发之中,查询的使用绝对是比较多的 复杂查询=限定查询+多表查询+统计查询+查询笔试之中出现较多的部分。...单行多列 多行多列 多行单列 多行多列 查询出现的地方: 1、where 单行单列 范例:查询出基本工资比allen工资低的员工 范例:查询出基本工资高于公司平均工资的雇员 范例:查找出于...emp); 有结果返回,数据会全部返回 2、having,一定表示操作会执行分组 having查询一般会返回单行单列,是以一个数值的方式返回 范例:查询部门编号、雇员人数、平均工资,并且要求部门平均工资高于公司的平均工资...所以一般都是多行多列子查询 范例:查询出每个部门的编号、名称、位置、部门人数、平均工资(可以使用多表查询查询两种方法) 使用查询来代替多表查询来避免笛卡儿积,所以优先使用查询 范例:查询出所有部门

1.8K50

MySQL基础-查询

(外查询)使用 查询要包含在括号内 建议将查询放在比较条件的右侧,便于阅读 单行操作符对应单行查询多行操作符对应多行查询 2、查询的分类 分类方式1: 按内查询的结果返回一条还是多条记录,将查询分为...单行查询多行查询 分类方式2:按内查询是否被执行多次,将查询划分为 相关(或关联)查询 和 不相关(或非关联)查询 不相关子查询查询从数据表查询了数据结果,如果这个数据结果只执行一次...空值:查询为空值时主查询没有行返回 非法使用:多行查询使用单行比较符 三、多行查询 多行查询也称为集合比较查询,内查询返回多行,使用多行比较操作符 1、多行比较操作符 操作符 含义 IN...等于列表的任意一个 ANY 需要和单行比较操作符一起使用,和查询返回的某一个值比较 ALL 需要和单行比较操作符一起使用,和查询返回的所有值比较 SOME 实际上是ANY的别名,作用相同,一般常使用...EXISTS操作符一起来使用,用来检查在查询是否存在满足条件的行 如果在查询不存在满足条件的行: 条件返回 FALSE 继续查询查找 如果在查询存在满足条件的行: 不在查询中继续查找

2.5K10
领券