oracle-3-子查询和常用函数】的更多相关文章

oracle 子查询和组合函数 --查询与"SCOTT"在同一个部门的员工 select empno,ename,deptno from emp where deptno in (select deptno from emp where ename='SCOTT'); --查找不在销售部和财务部工作的雇员编号.姓名和部门编号. select empno,ename,deptno from emp where deptno not in (select deptno from dept…
1.语法: select 字段列表 from 表名 [where 查询条件] [group by 分组] [having 分组条件] [order by 排序] select * 代表查询所有的字段 select id as "编号",sname 学生姓名,age "[年龄]" --as 之后是别名 也可以直接省略 select t.* from t_student t -- 给表取别名 where classid is null -- 空判断 ,,...) --范…
本文转自:http://www.cnblogs.com/neru/archive/2011/08/18/2144049.html 以前一直用sqlserver,只有很少的一点oracle的经验,现在要用oracle做一个很复杂的存储过程,感觉好别扭~ 唉 为啥就不能用sqlserver呢... SQL server 与Oracle开发比较 本文档主要从oracle与sql server语法上进行差异性比较,诸如两者在管理,性能,优化等方面的差异不作比较. ●概念上区别 1.Oracle 是一种对…
查询操作符列表 distinct操作符:用来消除重复记录. - 例: 查询fruits表中所有不重复的s_id select distinct s_id from fruits; 子查询:写在()中,把内层查询结果当做外层查询参照的数据表来用 例: 用in操作符与子查询语句来查询所有f_id对应的f_price在10元到20元之间的水果记录 select * from fruits where f_id in (select f_id from fruits where f_price betw…
SQL Server T-SQL高级查询 高级查询在数据库中用得是最频繁的,也是应用最广泛的. Ø 基本常用查询 --select select * from student; --all 查询所有 select all sex from student; --distinct 过滤重复 select distinct sex from student; --count 统计 select count(*) from student; select count(sex) from student…
主要内容: >子查询 >伪例 >锁的概念 >>>1.子查询 子查询在SELECT ,UPDATE ,DELETE 语句内部可以出现SELECT 语句,内部的SELECT 语句结果可以作为外部语句中条件子句的一部分,也可以作为外部查询的临时表,子查询的类型有: 单行子查询:不向外部返回结果,或者只返回一行结果 多行子查询:向外部返回零行,一行或者多行结果 案例:查询出销售部(SALES)下面的员工姓名,工作,工资 sql 语句如下: SELECT ENAME,JOB,SA…
一.子查询 子查询:把一条查询语句,当做值来使用子句的查询结果必须是一列子句可以返回多行数据,但必须是一列 子句返回的值为一个值的时候: 例如: 我只知道c026这个编号,我要查询比这个车价格低的全部车辆信息select *from car where price<(select price from car where code='c026')   --先执行括号内返回一个值,再执行外边.此时括号内返回的是一个值的时候 若子句返回的是一列值而不是一个值的时候: 例如: 查询油耗与c016相等的…
Oracle 学习笔记(二) 知识概要: 1.子查询 2.集合操作 3.DML语句操作 4.其他数据库对象 1.子查询 查询工资比SCOTT高的员工信息 1  select * 2  from emp 3  where sal > (select sal 4               from emp 5               where ename='SCOTT'); SQL> 注意的问题 SQL> 1. 括号 SQL> 2. 合理的书写风格 SQL> 3. 可以在…
  子查询                                    子查询可以分为单行子查询和多行子查询   单行子查询           [1] 将一个查询的结果作为另外一个查询的条件来使用 特点: 子查询在主查询前执行一次 主查询使用子查询的结果 SELECT * FROM EMP WHERE SAL > (SELECT SAL FROM EMP WHERE ENAME='CLARK'); [2] 子查询可以作为insert语句的值来使用 -- 今天来了一个新员工,将他添加到…
with c as (select a.trandt,sum(a.tranam) tranam from tran a group by a.trandt )--将子查询抽取出来,以后可以直接用.该方法只适用于oracle,mysql不支持 select c.trandt, sum(d.tranam) from c inner join c d on c.trandt >= d.trandt group by c.trandt select c.trandt, sum(d.tranam) fro…
Oracle子查询:当一个查询依赖于另外一个查询的结果的时候,就需要使用子查询.单行子查询 :筛选条件不明确,需要执行一次查询且查询结果只有一个字段且字段值只有一个.注意:where子句中允许出现查询语句,该查询语句称为子查询.使用:select 内容 from 表名 where 字段名 比较运算符 子查询语句 --查询所有比雇员'CLARK'工资高于员工的信息 select * from emp where sal>(select sal from emp where ename='CLARK…
学习了SQL子查询,遇到个Top-N问题,即:加入有张工资表(这里使用Oracle SCOTT用户的emp表),需要查找工资最高的3个员工信息,以下列格式输出: 乍眼一看,这很简单啊,对sal进行排序就可以了啊. select rownum,empno,ename,sal from emp order by sal desc; 但是,前面的行号呢?题目只要求输出前三行啊... 那这样可不可以呢? select * from(select rownum,empno,ename,sal from e…
1.子查询解决什么问题: 当一个简单的查询查询不到结果的时候,可以使用子查询来丰富查询的条件以达到显示结果的目的. 子查询的格式: 用一个小括号包含,然后在里面写sql语句2.子查询的注意事项: 1).注意一定要有小括号. 2).一定要注意书写格式,不要混乱. 3). 子查询可以放在select,from ,where having后面.    4). 注意子查询一定不能放在group by的后面. 5). 子查询和主查询可以不是同一张表,只要子查询的结果在主查询中能用就可以. 6). 子查询中…
Oracle                                       -->                             MySQL to_char(sysdate,'yyyy-mm-dd')-->date_format(sysdate(),'%Y-%m-%d'); to_date(sysdate,'yyyy-mm-dd')-->STR_TO_DATE(sysdate(),'%Y-%m-%d'); 1.oracle (1)使用TO_CHAR函数处理数字 T…
1.通过查询快速创建表 create table test1(id,job,mgr,sal) as () ) ---这是一个分页查询 ok,表创建成功 2.通过查询快速创建视图 create or replace view V_test1 as () ) ---这是一个分页查询 ok,视图创建成功 注意:resource角色可能无法创建视图,所以你在创建视图的时候,可能会遇到权限不足的情况,解决方案是:以dba身份登录数据库,然后执行如下语句: ok,可以创建视图了. 3.通过查询结果集结合In…
SELECT * FROM emp; SELECT * FROM dept; 1.查询公司员工工资的最大值,最小值,平均值和总和. SELECT MAX(sal) AS 工资最大值, MIN(sal) AS 工资最小值 , AVG(sal) AS 工资平均值, SUM(sal) AS 工资总和 FROM emp; 2.查询各 job 的员工工资的最大值,最小值,平均值和总和. SELECT job, MAX(sal), MIN(sal) , AVG(sal), SUM(sal) FROM emp…
函数的分类 Oracle 提供一系列用于执行特定操作的函数 SQL 函数带有一个或多个参数并返回一个值 以下是SQL函数的分类:…
曾经遇到过这样一个需求:要求为method传入String,内容如"用户ID0,用户ID1,用户ID2...",然后根据这些ID返回一个结果集作为数据表供别人查询. SELECT * FROM TBL WHERE ID IN ('用户ID0,用户ID1,用户ID2') 不就可以解决问题吗? 但实际情况是,结果集无法通过一个简单的SELECT就可以得到. 让我明确一下需要解决的问题: 我们给FUNCTION传递这样的一个String参数后如何让它动态RETURN一个结果集供其他SELEC…
1.写一个查询显示与 Zlotkey 的 在同一部门的雇员的 last name和 hire date,结果中不包括 Zlotkey --1.写一个查询显示与 Zlotkey 的 在同一部门的雇员的 last name和 hire date,结果中不包括 Zlotkey select e.department_id from employees e where e.last_name='Zlotkey'; select e.last_name,e.hire_date from employees…
查看本月数据 SELECT *FROMcontent_publishWHERE date_format(publish_time, '%Y %m') = date_format(DATE_SUB(curdate(), INTERVAL 0 MONTH),'%Y %m') 查看上个月数据 SELECT*FROMcontent_publishWHEREdate_format(publish_time, '%Y %m') = date_format(DATE_SUB(curdate(), INTERV…
1.子查询 1.1.子查询简介 1.2.WITH 子查询 2.集合查询 2.1.UNION 和 UNION ALL 2.2.MINUS 2.3.INTERSECT 2.4.集合运算与 ORDER BY 3.DISTINCT 子句 3.1.普通用法 3.2.做聚合函数的参数 4.总结 1.子查询 1.1.子查询简介 子查询是一个嵌套在 SELECT.INSERT.UPDATE 或 DELETE 语句或其他子查询中的查询.任何允许使用表达式的地方都可以使用子查询,换句话说,子查询几乎可以出现在一条…
Oracle 简单子查询 顾名思义,简单子查询是嵌套在 SQL 语句中的另一个SELECT 语句,并且子查询只返回一列数据 1,单行子查询: 子查询 (内查询) 在主查询之前一次执行完成.子查询的结果被主查询(外查询)使用 ,单行子查询,一个子查询语句只返回一行结果,不能返回空值 可以使用>,<,<>(!=),=,<=,>= select select_list from table where expr operation --operation为条件语句表达式, (…
oracle标量子查询和自己定义函数有时用起来比較方便,并且开发者也常常使用.数据量小还无所谓.数据量大,往往存在性能问题. 下面測试帮助大家彻底搞懂标量子查询. SQL> create table a (id int,name varchar2(10)); Table created. SQL> create table b (id int,name varchar2(10)); Table created. SQL> insert into a values (1,'a1'); 1…
1.order by 默认按升序排列(asc/desc),多字段排序 order by 字段 排序方式,字段2 排序方式,..: 在分组排序中,排序是对分组后的结果进行排序,而不是在组中进行排序. select * from stu order by score desc,name asc;//优先score ,然后name排序 2.limit 在语句表示,截取记录的条数.一般和order by 配合使用(大数据下Limit使用) limit[offset][N] offset: 偏移量   N…
Oracle 高级子查询 高级子查询相对于简单子查询来说,返回的数据行不再是一列,而是多列数据. 1,多列子查询 主查询与子查询返回的多个列进行比较 查询与141号或174号员工的manager_id和department_id相同的其他员工的employee_id, manager_id, department_id select employee_id, manager_id, department_id from employees where (manager_id,department…
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,MySQL由于现在闭源了,而能轻松成为MySQL的代替品.在存储引擎方面,使用XtraDB来代替MySQL的InnoDB,MariaDB由MySQL的创始人Michael Widenius主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购MySQL的所有权也落入Oracle的手中.M…
IN后面的子查询可以返回多条记录. SELECT ...FROM  WHERE 查询表达式 IN(子查询) 常用IN替换等于(=)的比较子查询. 用法: (1)使用 :IN关键字可以使父查询匹配子查询返回的多个单列值. (2) NOT IN:将父查询条件中的表达式与子查询返回的结果进行比较把不匹配的信息显示出来. 举例:查询购买了自行车的用户信息: 根据商品的名称查询商品的编号: SELECT ID FROM CommidInfo WHERE Name='自行车' 使用商品的编号去查询购买用户的…
1.order by 默认按升序排列(asc/desc),多字段排序 order by 字段 排序方式,字段2 排序方式,..:在分组排序中,排序是对分组后的结局进行排序,而不是在组中进行排序. 2.limit 在语句最好,截取记录的条数.一般和order by 配合使用 limit[offset][N] offset: 偏移量   N:条数: 如limit(2,2),即从第三记录开始取两条记录.当一个参数时:limit 2,即从第一条记录开始取2条 关于分组和聚合函数的一个问题,当分组时会从库…
一.Oracle的子查询分为两类分别是嵌套子查询和非嵌套子查询.所谓嵌套子查询是指,子查询是一个独立的查询不与外部查询相关,子查询将被先执行,而且只被执行一次,子查询执行完成后,再执行外部的查询,外部查询在执行过程中会使用到子查询的结果.下面我们来看嵌套子查询. hr@OCM> set autot traceonly; hr@OCM> SELECT employee_id,first_name,salary 2 FROM employees 3 WHERE 4 department_id=(S…
一.子查询定义 定义: 子查询允许把一个查询嵌套在另一个查询当中. 子查询,又叫内部查询,相对于内部查询,包含内部查询的就称为外部查询. 子查询可以包含普通select可以包括的任何子句,比如:distinct. group by.order by.limit.join和union等:但是对应的外部查询必须是以下语句之一:select.insert.update.delete.set或 者do. 子查询的位置: select 中.from 后.where 中.group by 和order by…