Oracle Day3 多行函数、多表查询】的更多相关文章

1.多行函数 Sum avg max min count 组函数具有滤空的作用(添加nvl屏蔽该功能) 分组group by 多行分组 分组过滤 where 和分组过滤的区别(having) 分组的增强(rollup) break on deptno skip 2; break on null; SQL> -- 计算一下每一个月要发多少工资,不含奖金 SQL> select sum(sal) from emp; SUM(SAL) ---------- SQL> select sal fr…
最近看了李兴华的oracle视频,这是网上别人做的笔记非常细致,分享给大家,第六篇 原创地址:http://www.cnblogs.com/mchina/archive/2012/09/07/2651568.html 本次预计讲解的知识点 1. 多表查询的操作.限制.笛卡尔积的问题: 2. 统计函数及分组统计的操作: 3. 子查询的操作,并且结合限定查询.数据排序.多表查询.统计查询一起完成各个复杂查询的操作: 一.多表查询的基本概念 在之前所使用的查询操作之中,都是从一张表之中查询出所需要的内…
多表查询:查询结果需要用到两个或者以上表,此时需要多表连接,产生多表查询 1.内连接(等值连接) 示例:将两个表内容连接显示 select * from dept d, emp e where d.deptno = e.deptno; 注意:只有当d.deptno = e.deptno条件满足,内容才会显示,否则不显示 2 .外连接:让等值判断左右两边有一边的数据可以全部显示出来,使用外连接方式时使用”(+)” 格式:   左外连接:字段=字段(+) 右外连接:字段(+)=字段 示例:显示雇员的…
(1)截取函数--TRUNC() 的用法 SELECT  TRUNC(789.652) 截取小数, TRUNC(789.652,2) 截取两位小数, TRUNC(789.652,-2) 取整 FROM dual ; (2)查询雇员编号,雇员姓名,雇佣日期: 没有使用截取函数TRUNC(): SELECT empno 雇员编号,ename 雇员姓名,hiredate 雇佣日期 , (MONTHS_BETWEEN(sysdate,hiredate)) 雇佣总月数, (MONTHS_BETWEEN(s…
-----------------产生笛卡儿积------------------------------------ select * from emp,dept; --不带条件时,记录数为14*4 =56条记录 select * from emp cross join dept;--交叉连接,同上 select count(*)from emp; ---左连接( 返回包括左表中的所有记录和右表中联结字段相等的记录 ) select d.dname,e.ename from emp e,dep…
SQL多表查询 1.集合理论 1.1 什么是集合 具有某种特定性质的事物的总体. 集合的特性:无序性.互异性.确定性. 一个集合可以小到从一个表中取出一行中的一列.              1 rows 1 cols 也可以不返回任何行--空集                      0 rows n cols 也可以有多个列,这些列可以是从多个表中取出的多行信息.  m rows n cols 结果集中的每一行就是这个集合的一个元素. 1.2集合运算 1)交 用来得到两个或多个不同集合的共…
SQL Fundamentals || Oracle SQL语言 一.多表查询基本语法 在进行多表连接查询的时候,由于数据库内部的处理机制,会产生一些“无用”的数据,而这些数据就称为笛卡尔积. 多表查询时可以利用等值关联字段消除笛卡尔积 多表查询之中,每当增加一个关联表都需要设置消除笛卡尔积的条件 分析过程很重要: 确定所需要的数据表 确定已知的关联字段: 按照SQL语句的执行步骤编写:FROM,WHERE,SELECT,ORDER BY (由于SELECT是在WHERE子句之后执行,所以SEL…
今天内容: ● 多表查询(内连接 外连接 子查询) ● 存储程序(存储过程 函数) 多表查询 ​ 同时从多张数据表中查取到需要的数据即是多表查询. 多表查询时,参与查询的表中每条数据进行组合,这种效果称为笛卡尔积 . ​ 顶哥说,多表查询就是将多张表的每一条数据都进行排列组合.其结果就是笛卡尔积.然后通过各种条件的限定筛选出有用的数据!!! 内连接 ​ 用左边表的记录去匹配右边表的记录,显示出符合条件的记录. # 隐式内连接: 无join 关键字 使用where指定条件 # select * f…
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max-width: 100%; vertical-align: middle; } button, input, select, textarea { color: inherit; font: inherit; } input[type="checkbox"], input[type=&quo…
count组函数:(过滤掉空的字段) select count(address),count(*) from b_user max() avg() min(),sum() select sum(age),max(age),min(age),avg(nvl(age,0)) from b_user 1       260     70      10      37.1428571428571 group by:如果前面定义了该字段名  则groupby必须也写上该字段 select name,pw…
作者: kent鹏 转载请注明出处: http://www.cnblogs.com/xieyupeng/p/7272236.html Oracle的集群 Oracle的体系结构 SQL> --当前用户 SQL> show user USER 为 "SCOTT" SQL> --当前用户下的表 SQL> select * from tab; TNAME TABTYPE CLUSTERID ------------------------------ -------…
  安装oracle后的测试以及解锁账户                  安装后打开命令行,输入 sqlplus 回车后会提示输入用户名,输入 sys或者system 回车后输入密码,密码为安装oracle时设置的口令 登录后命令行会出现 SQL>> 表示登录成功,接着就可以写SQL命令了 这时登录的是sys用户或者system用户,如果需要使用scott用户需要解锁,解锁命令如下: 解锁scott用户 alter user scott identified by tiger account…
一.多表查询 所有的连接分析,参考之前随笔:http://www.cnblogs.com/jiangbei/p/7420136.html 1.笛卡尔积 select last_name, department_name from employees, departments 产生无效的笛卡尔积可以通过where进行过滤 连接查询: 2.等值连接 select e.last_name, d.department_name from employees e, departments d where…
DML(数据操纵语言) INSERT .UPDATE. DELETE 插入操作:INSERT: 语法: INSERT INTO 表名(列名1,列名2 ...)VALUES(列值1,列值2...); 注意:列名与列值的类型.个数.顺序要一一对应. 可以把列名当做java中的形参,把列值当做实参. 值不要超出列定义的长度. 如果插入空值,请使用null 插入的日期和字符一样,都使用引号括起来. 修改操作 UPDATE: 语法:UPDATE 表名 SET 列名1=列值1,列名2=列值2 .......…
笛卡尔集 l  笛卡尔集会在下面条件下产生: 省略连接条件 连接条件无效 所有表中的所有行互相连接 l  为了避免笛卡尔集, 可以在 WHERE 加入有效的连接条件. 自连接 select m.last_name,m.email,m.salary from employees e,employees m where e.employee_id = m.manager_id and m.last_name='Chen'; 自己和自己连接,将一张表分为两张表查询使用 非等值连接 SELECT e.l…
2018-07-10 08:29:55 思考应用场景 异常数据的测试 6.显示能挣得奖金的雇员的姓名.工资.奖金,并以工资和奖金降序排列.select ename,sal,commfrom empWHERE comm>0--两列都要descorder by sal desc,comm desc; 8. 显示姓名中两次出现字母L并且在30部门工作,或者其管理员编号是7782的雇员的姓名.SELECT ename FROM emp --模糊查询WHERE ename LIKE '%L%L%' AND…
1.聚合函数 --max,min,sum,avg,count,nvl(,) -- max:最大值 -- max既能取数字的最大值,也可以取字符串的最大值(英文字母排列顺序),根据场景实际意义来看,最好一条sql中只出现一次 select max(age) ,max(name) from teacher; --min:最小值 select min(age) from teacher; select min(name) from teacher; --sum:求和:在求和函数中,只能计算数字类型,…
一.SQL的多表查询: 1.左连接和右连接(不重要一方加(+)) SELECT e.empno,e.ename,d.deptno,d.dname,d.loc FROM emp e,dept d WHERE e.deptno(+)=d.deptno ; (+)在等号左边是右连接,反之左连接. 2.交叉连接 (CROSS JOIN产生笛卡尔积) SELECT * FROM emp CROSS JOIN dept ; 3.自然连接 (NATURAL JOIN)自动关联字段匹配 SELECT * FRO…
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! day03_条件查询_排序_函数 清空回收站: PURGE recyclebin; 给表名,字段加别名 : 表名 + 别名 ; 字段 [as] 别名 ; 去重复 : select distinct first_name from employees; 删除重复数据 : 方法1,先查找不重复的,再复制一份查询后不重复的 方法2,用rowID方法 条件查询…
select语句学习 . 创建表 create table user(user varchar2(20), id int); . 查看执行某条命令花费的时间 set timing on: . 查看表的结构 desc 表名: . 查询所有列 select * from 表名; . 查询指定列 select 某列名1,某列名2 from 表名; . 取消重复行 select distinct 某列名1,某列名2 from 表名: 其中distinct作用在后面多列,只有每行完全相同才会被滤去 .  …
使用逻辑操作符号 问题:查询工资高于500 或者是岗位为MANAGER 的雇员,同时还要满足他们的姓名首字母为大写的J? or job = 'MANAGER') and ename LIKE 'J%'; 使用order by 字句 默认asc问题:如何按照工资的从低到高的顺序显示雇员的信息? SELECT * FROM emp ORDER by sal; 问题:按照部门号升序而雇员的工资降序排列 SELECT * FROM emp ORDER by deptno, sal DESC; 使用列的别…
--oracle表的管理 --创建表 )); --删除表 drop table users; --创建表 ),xm ),sex ),birthday date,sal ,)); ),cnmae )); --添加一个字段 )); --修改字段长度 )); --修改字段类型/或者名字(不能有数据) )); --删除一个字段 不要删字段 alter table student drop column sal; --修改表的名字 rename student to stu; --删除表 drop tab…
一.多表查询 (一)简单多表查询 1.多表查询的机制 1)SQL: SELECT * FROM emp; --14条记录 SELECT * FROM dept;--4条记录 SELECT * FROM emp,dept;--显示56条数据??为什么 2)分析: 先从 dept 选择一条记录(deptno=10).分别于 emp中的14条记录分别匹配.显示14条记录. 再从 dept 选择一条记录(deptno=20),分别于 emp中的14条记录分别匹配.显示14条记录. 依次类推. water…
多表查询     这篇文章主要讲四点: (1)oracle多表查询    (2)SQL99标准的连接查询   (3)子查询     (4)分级查询 oracle多表查询有两种方式,一种是oracle所特有的查询方式,一种是SQL99标准的连接查询,是通用的一种多表查询. 1. Oracle 连接 等值连接 在where中加入连接条件.在表中有相同的列在列名之前可以加上前缀. --查询 员工的id 员工的姓名 员工的部门名称 员工所在的部门的城市 select e.employee_id,e.fi…
本次预计讲解的知识点 1. 多表查询的操作.限制.笛卡尔积的问题: 2. 统计函数及分组统计的操作: 3. 子查询的操作,并且结合限定查询.数据排序.多表查询.统计查询一起完成各个复杂查询的操作: 一.多表查询的基本概念 在之前所使用的查询操作之中,都是从一张表之中查询出所需要的内容,那么如果现在一个查询语句需要显示多张表的数据,则就必须应用到多表查询的操作,而多表查询的语法如下: SELECT [DISTINCT] * | 字段 [别名] [,字段 [别名] ,-] FROM 表名称 [别名]…
前言 在之前已经大概了解过Mysql数据库和学过相关的Oracle知识点,但是太久没用过Oracle了,就基本忘了...印象中就只有基本的SQL语句和相关一些概念....写下本博文的原因就是记载着Oracle一些以前没注意到的知识点...以后或许会有用... 实例与数据库概念 Oracle数据库服务器由两部分组成: 实例:理解为对象,看不见的 数据库:理解为类,看得见的 我们在安装Oracle的时候,已经填写过自己数据库的名称了,一般实例与数据库的名称是一致的... 如果还没有安装Oracle数…
本次预计讲解的知识点 1. 多表查询的操作.限制.笛卡尔积的问题: 2. 统计函数及分组统计的操作: 3. 子查询的操作,并且结合限定查询.数据排序.多表查询.统计查询一起完成各个复杂查询的操作: 一.多表查询的基本概念 在之前所使用的查询操作之中,都是从一张表之中查询出所需要的内容,那么如果现在一个查询语句需要显示多张表的数据,则就必须应用到多表查询的操作,而多表查询的语法如下: SELECT [DISTINCT] * | 字段 [别名] [,字段 [别名] ,-] FROM 表名称 [别名]…
参考:http://www.hechaku.com/Oracle/oracle_tables2.html 1.使用逻辑操作符号问题:查询工资高于500或者是岗位为manager的雇员,同时还要满足他们的姓名首字母为大写的J? SQL or job='manager') and ename like 'J%'; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- ------…
数据库操作语句的分类 DDL:数据库模式定义语言,关键字:create DML:数据操纵语言,关键字:Insert.delete.update DCL:数据库控制语言 ,关键字:grant.remove DQL:数据库查询语言,关键字:select oracle表在什么情况下会被锁住 DML锁又可以分为,行锁.表锁.死锁 行锁:当事务执行数据库插入.更新.删除操作时,该事务自动获得操作表中操作行的排它锁. 表级锁:当事务获得行锁后,此事务也将自动获得该行的表锁(共享锁),以防止其它事务进行DDL…
ORACLE EBS操作某一个FORM界面,或者后台数据库操作某一个表时发现一直出于"假死"状态,可能是该表被某一用户锁定,导致其他用户无法继续操作 复制代码代码如下: --锁表查询SQLSELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s WHERE l.object_id = o.object_id AND l.session_id = s…