Oracle条件查询

--查询各个部门的编号,最高工资,总和,平均工资
--并且按照个部门的总工资进行降序排列
select deptno,max(sal),sum(sal),avg(sal)
from teacher
group by deptno
order by sum(sal) desc
--再增加一个条件 并且 部门人数在10人以上的
select deptno,max(sal),sum(sal),avg(sal)
from teacher
group by deptno
having count(deptno)>20
order by sum(sal) desc

--nvl(E1,E2):如果E1为空,则返回E2,否则返回E1
select nvl(mgrno,0) from teacher
--nvl2(E1,E2,E3):如果E1为空,则返回E3,否则返回E2
select nvl2(mgrno,1000,0) from teacher
--decode(value,表达式1,表达式1对应的值....) 底层就是一个if else if
select decode(mgrno,null,0,2000) from teacher

sql语句的执行顺序
1.from 表
2.where 条件
3.group by 分组 根据列
4.having 分组条件
5.select 01 .列 02.distinct 03.top
6.order by 根据指定的列 进行排序

时间: 2024-10-23 08:33:21

Oracle条件查询的相关文章

(四)Oracle条件查询,分页查询

1. SQL(基础查询) 1.1基础查询 1.1.1. 使用LIKE条件(模糊查询) 当用户在执行查询时,不能完全确定某些信息的查询条件,或者只知道信息的一部分,可以借助LIKE来实现模糊查询.LIKE需要借助两个通配符: %:表示0到多个字符 _:标识单个字符 这两个通配符可以配合使用,构造灵活的匹配条件.例如查询职员姓名中第二个字符是'A'的员工信息: SELECT ename, job FROM emp WHERE ename LIKE '_A%'; 1.1.2. 使用IN和NOT IN

Oracle 条件查询 模糊查询

示例: 1)      查询出工资高于3000的员工信息 select  * froms_emp e where e.salary>3000: 2)      查询出名为Carmen的员工所有信息 select * from s_emp e wheree.first_name ='Carmen'; [oracle sql  关键字,表名,列名等不区分大小写, 记录中的值大小写敏感] 3)      查询出没有绩效的员工信息 select * from s_emp e where  e.commi

ORACLE因为字符集不同,进行中文条件查询,查询结果为空

在使用C#进行SQL语言或者ASP.NET进行ORACLE数据查询:当查询条件有中文存在时,因为数据服务端和客户端/本机的字符集不同,数据表存在数据,但查询不出来数据.但使用连接Oracle工具相同的字符串可进行数据查询.查询条件中文以'???'出现. SELECT sql_text, last_load_time FROM v$sql WHERE last_load_time IS NOT NULL ORDER BY last_load_time DESC该语句是进行ORACLE执行SQL语句

【Oracle】曾经的Oracle学习笔记(4-7)多表联合查询,子查询,动态条件查询

一.多表联合查询 二.子查询 三.动态条件查询 LESSON 4 Displaying Data from Multiple Tables-------------------------------------------------------- 查询s_emp表中最大的工资数,并且显示出这个最大工资数的员工名字 select last_name,max(salary)from s_emp; 多表查询 查询多张表的时候会产生笛卡尔积 为了防止笛卡尔积的产生,我们需要使用某些条件把两张表或多张

oracle 在xml中批量插入,批量修改及多组条件查询

最近公司用ibatis开发项目,本来可以用存储过程处理批量插入,批量修改及多组条件查询:但由于使用模块相对较小,暂时就在xml中配置,以前没有在xml做过类似处理,有必要记录一下:好了,代码如下: <!-- 批量插入 --> <insert id="saveNotificationPushInfo" parameterClass="java.util.List"> <![CDATA[INSERT ALL]]> <iterat

数据库编程3 Oracle 子查询 insert update delete 事务 回收站 字段操作 企业级项目案例

[本文谢绝转载原文来自http://990487026.blog.51cto.com] <大纲> 数据库编程3 Oracle 子查询 insert update delete 事务 回收站 字段操作 企业级项目案例 实验所用数据表 子查询,解决一步不能求解 查询工资比scott高的员工信息: 子查询知识体系搭建: 解释3,查询部门是sales的员工信息: 方法1:子查询 [方法2]:多表: 优化考虑: 解释4[select],只能放单行子查询 解释4[from] 考题:显示员工姓名,薪水 解释

Oracle 模糊查询方法

在这个信息量剧增的时代,如何帮助用户从海量数据中检索到想要的数据,模糊查询是必不可少的.那么在Oracle中模糊查询是如何实现的呢? 一.我们可以在where子句中使用like关键字来达到Oracle模糊查询的效果:在Where子句中,可以对datetime.char.varchar字段类型的列用Like关键字配合通配符来实现模糊查询,以下是可使用的通配符: (1)% :零或者多个字符,使用%有三种情况 字段 like '%关键字%'字段包含"关键字"的记录 字段 like '关键字%

oracle 层次化查询(生成菜单树等)

1.简介:Oracle层次化查询是Oracle特有的功能实现,主要用于返回一个数据集,这个数据集存在树的关系(数据集中存在一个Pid记录着当前数据集某一条记录的Id). 2.层次化查询主要包含两个子句,一个start with另一个是connect by. start with:这个子句一般用于指定层次化查询的开始节点(也就是树的最顶级节点),找到最顶级节点,然后按照一定的规则开始查找其剩余的子节点 connect by:这个子句就是上面所说的规则,用于查找剩余子节点的规则 CREATE TAB

Oracle分页查询语句的写法(转)

分页查询是我们在使用数据库系统时经常要使用到的,下文对Oracle数据库系统中的分页查询语句作了详细的介绍,供您参考. Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,如果您对此方面感兴趣的话,不妨一看. Oracle分页查询语句基本上可以按照本文给出的格式来进行套用.Oracle分分页查询格式: SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHER