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

SQL 基础--> 查询

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

1.8K20

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

Oracle允许在select子句中包含单行查询,这个也就是oracle的标量子查询,标量子查询有点类似于外连接,当使用到外连接时我们可以灵活的将其转化为标量子查询。...=b.username,如果符合则返回查询的值,如果不符合则用null补充。...而如果标量子查询中如果主查询的一行对应查询返回有多个值,这个是不允许的,看下面的例子 SQL> select a.username,b.object_id from t1 a,t2 b where a.username...关于标量子查询和表关联的性能简介: 如果主查询返回的数据较多,而查询中又没有高效的索引,关联列对应的主查询表又没有较多的重复值,那么这个标量子查询的执行成本是很大的,如上面的标量子查询和外连接的sql...标量子查询中出现rownum=1或者rownum<2 原则上标量子查询中出现rownum表示该SQL本来就是不严谨的,加上ROWNUM=1更多是为了防止标量子查询返回多行而出现错误: ?

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

Oracle高级查询-imooc

4-1 Oracle查询概述 (05:36)  4-2 Oracle查询需要注意的问题 (05:17)  4-3 Oracle查询语法中的小括号问题 (01:23)  4-4 Oracle查询的书写风格问题...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

2K40

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

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分页 在讲解JDBC的时候,我们就已经讲过Oracle与Mysql的分页问题了….详情可以看我的博文:...那么Oracle分页的思路是这样子的: 先在查询中获取前n条记录 由于返回的是多行多列,因此我们可以看做成一张表 那么将查询出来的数据放在from字句的后边 外套的查询可以通过where字句来对子查询出来的数据进行过滤

2.5K100

PLSQL -->隐式游标(SQL%FOUND)

该方式多用于处理select语句返回多行数据的情形。...而隐式游标则由则由系统自动定义 ,当DML被使用时,Oracle为每一个不属于显示游标的DML语句都创建一个隐式游标,其声明、打开、关闭都是系统自动进行。多用于配合DML 返回单行数据的处理。...其过程由oracle控制,完全自动化。隐式游标 的名称是SQL,不能对SQL游标显式地执行OPEN,FETCH,CLOSE语句。...SELECT INTO处理的结果包括两种种情况 查询结果返回单行,SELECT INTO被成功执行 查询结果没有返回行,PL/SQL将抛出no_data_found异常 查询结果返回多行,PL/SQL...请参考 SQL 基础--> 查询 SQL 基础-->多表查询 SQL基础-->分组与分组函数 SQL 基础-->常用函数 SQL 基础--> ROLLUP与CUBE运算符实现数据汇总 SQL基础-

1.3K30

数据库相关

对于数据库的学习包括:sql>过程、触发器等内容,其中重要程度如下: sql>过程、触发器等 oracle数据库: 1、oracle的开发部分,包含两个部分:sql+plsql编程 2、oracle...单行多列 多行多列 多行单列 多行多列 查询出现的地方: 1、where 单行单列 范例:查询出基本工资比allen工资低的员工 范例:查询出基本工资高于公司平均工资的雇员 范例:查找出于...7566工作相同并且领导相同的雇员 范例:查询出于ALLEN同一工作并且同一年雇佣的雇员信息 多行单列: 如果子查询返回的是多行单列,主要使用三种操作符:in,any,all,not in 范例:查询出与每个部门最低工资相同的全部雇员信息...emp); 有结果返回,数据会全部返回 2、having,一定表示操作会执行分组 在having中的查询一般会返回单行单列,是以一个数值的方式返回 范例:查询部门编号、雇员人数、平均工资,并且要求部门平均工资高于公司的平均工资...所以一般都是多行多列子查询 范例:查询出每个部门的编号、名称、位置、部门人数、平均工资(可以使用多表查询查询两种方法) 使用查询来代替多表查询来避免笛卡儿积,所以优先使用查询 范例:查询出所有在部门

1.8K50

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

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

67720

Web-第二十四天 Oracle学习【悟空教程】

l 单行查询返回一条记录 单行操作符 ? 单行查询示例1 ? 单行查询示例2 ? 单行查询示例3 ?...单行查询示例4 范例:查询出比雇员7654的工资高,同时从事和7788的工作一样的员工 ? 范例:要求查询每个部门的最低工资和最低工资的雇员和部门名称 ? 非法使用单行查询示例 ?...l 多行查询 返回了多条记录 多行操作符 l 查询中的null值问题 单行查询中的null值问题 ? 多行查询中的null值问题 示例:查询不是老板的员工 ?...多行查询中null值需要注意的问题: ?...l Exists用法: 语法解释: exists(sql查询语句) sql查询语句为空 返回值是false sql查询语句有值 返回值就是true select * from emp where exists

1.8K20

Oracle-函数大全

ORACLE函数大全 1. 第一讲 单行函数和组函数详解 PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序。...在SQLOracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类:    单行函数    组函数   本文将讨论如何利用单行函数以及使用规则。   ...SQL中的单行函数   SQL和PL/SQL中自带很多类型的函数,有字符、数字、日期、转换、和混合型等多种函数用于处理单行数据,因此这些都可被统称为单行函数。...返回x内部表示的字节数。 6.第六讲 SQL中的组函数 SQL中的组函数   组函数也叫集合函数,返回基于多个行的单一结果,行的准确数量无法确定,除非查询被执行并且所有的结果都被包含在内。...与单行函数不同的是,在解析时所有的行都是已知的。由于这种差别使组函数与单行函数有在要求和行为上有微小的差异.   组(多行)函数   与单行函数相比,oracle提供了丰富的基于组的,多行的函数。

2.4K50

MySQL基础-查询

一、查询概念 1、什么是查询 查询概念: 查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入 SQL 中子查询的使用大大增强了 SELECT 查询的能力,因为很多时候查询需要从结果集中获取数据...(外查询)使用 查询要包含在括号内 建议将查询放在比较条件的右侧,便于阅读 单行操作符对应单行查询多行操作符对应多行查询 2、查询的分类 分类方式1: 按内查询的结果返回一条还是多条记录,将查询分为...单行查询多行查询 分类方式2:按内查询是否被执行多次,将查询划分为 相关(或关联)查询 和 不相关(或非关联)查询 不相关子查询查询从数据表中查询了数据结果,如果这个数据结果只执行一次...空值:查询为空值时主查询没有行返回 非法使用:多行查询使用单行比较符 三、多行查询 多行查询也称为集合比较查询,内查询返回多行,使用多行比较操作符 1、多行比较操作符 操作符 含义 IN...等于列表中的任意一个 ANY 需要和单行比较操作符一起使用,和查询返回的某一个值比较 ALL 需要和单行比较操作符一起使用,和查询返回的所有值比较 SOME 实际上是ANY的别名,作用相同,一般常使用

2.4K10

查询(1)

SQL 中子查询的使用大大增强了 SELECT 查询的能力,因为很多时候查询需要从结果集中获取数据,或者 需要从同一个表中先计算得出一个数据结果,然后与这个数据结果(可能是某个标量,也可能是某个集 合)...注意事项 查询要包含在括号内 将查询放在比较条件的右侧 单行操作符对应单行查询多行操作符对应多行查询  查询的分类  分类方式1: 我们按内查询的结果返回一条还是多条记录,将查询分为...单行查询多行查询 。...单行查询   代码示例  题目:查询工资大于149号员工工资的员工的信息 题目:返回job_id与141号员工相同,salary比143号员工多的员工姓名,job_id和工资  SELECT last_name...也称为集合比较查询查询返回多行 使用多行比较操作符 多行比较操作符   代码示例  题目:返回其它job_id中比job_id为‘IT_PROG’部门任一工资低的员工的员工号、姓名、job_id

1.2K10

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 这就是对上面代码进行重复数据的查询...,从而找到了重复数据 重复数据的出现可能有很多,最常见的是在代码设计阶段的循序渐进造成的,虽然不多,但报错之后影响查询,需要注意,另外一点,可以在开发阶段专门用一个测试数据库,开发完成之后再进行回滚

11240

MYSQL数据库-复合查询

MYSQL数据库-复合查询 零、前言 一、基本查询 二、多表查询 三、自连接 四、查询 1、单行查询 2、多行查询 3、多列子查询 3、在from子句中使用查询 五、合并查询 1、union 2...worker,给自己的表起别名,因为要先做笛卡尔积,所以别名可以先识别 四、查询 查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询 1、单行查询 返回一行记录的查询...示例:显示SMITH同一部门的员工 2、多行查询 返回多行记录的查询 示例: in关键字:查询和10号部门的工作岗位相同的雇员的名字,岗位,工资,部门号,但是不包含10自己的 all关键字...:显示工资比部门30的所有员工的工资高的员工的姓名、工资和部门号 any关键字:显示工资比部门30的任意员工的工资高的员工的姓名、工资和部门号(包含自己部门的员工) 3、多列子查询 单行查询是指查询返回单列...,单行数据;多行查询是指返回单列多行数据,都是针对单列而言的,而多列子查询则是指查询返回多个列数据的查询语句 示例:查询和SMITH的部门和岗位完全相同的所有雇员,不含SMITH本人 3、在from

13.2K30
领券