- 浏览: 822445 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (488)
- struts1 (4)
- spring (13)
- extjs (36)
- mysql (3)
- sqlserver (2)
- oracle (37)
- 杂谈 (11)
- 面试相关 (35)
- Java基础知识总结 (5)
- Java重要知识点 线程和io流知识点 (6)
- 服务器相关 (1)
- 生活 (1)
- jsp (7)
- servlet (2)
- junit (3)
- struts2 (9)
- 开发必备 (4)
- 使用开发工具总结的知识 (4)
- ibatis (12)
- ajax (2)
- dwr (2)
- jquery (1)
- 设计模式 (4)
- Lucene的学习 (5)
- 经验总结 (19)
- mysql全文搜索相关 (7)
- hibernate (33)
- Sphinx (1)
- log4j的总结 (1)
- 敏捷开发 (9)
- 持续集成 (15)
- UML使用总结 (1)
- Scrum (1)
- OO(面向对象编程) (1)
- struts1和struts2总结 (1)
- 数据库加密 (1)
- 多线程和Socket编程 (6)
- PowerDesigner (2)
- 权限相关 (1)
- ant应用总结 (4)
- 面试必知知识点总结 (6)
- io流与nio流总结 面试相关 (1)
- 敏捷管理工具的使用 (7)
- hsqldb相关 (1)
- svn源码相关 (2)
- debug调试技巧总结 (1)
- hibernate和ibatis对比相关 (6)
- eclipse mylyn 插件的使用总结 (2)
- fisheye使用总结 (2)
- java泛型总结 (1)
- ssh整合总结 (10)
- SpringSide的学习总结 (1)
- JPA学习总结 (2)
- RoR 总结 (2)
- 模型驱动 总结 (1)
- Oracle SQL优化技巧 (4)
- 数据库相关资料 (1)
- oracle练习相关 (4)
- PowerDesigner 使用总结 (2)
- Struts实现国际化相关 (2)
- 权限框架 Spring Security (1)
- freemarker使用总结 (1)
- jsp servlet总结相关 (3)
- Java NIO总结 (1)
- 自己学习必须 (3)
- 蝴蝶容器相关 (2)
- eclipse插件的使用 (1)
- myeclipse的使用 (1)
- flex相关 (1)
- javaeye重生后总结的知识点 (2)
- 公司学习总结 (3)
- JAXB 相关 (1)
- ECSide (1)
- EdoJs 企业ajax框架 (1)
- RSA加密算法 (1)
- jbpm相关 (1)
- JMF原理 (1)
- MyEclipse使用总结 (1)
- Funsion Charts 相关总结 (3)
- 常用知识2011 (2)
- Flex与Java整合 (1)
- IBM WebSphere相关 (1)
- jQuery使用技巧 (2)
- 2011年面试相关知识点总结 (2)
- sqlserver开发相关 (8)
- eclipse 打jar相关 (2)
- Oracle/Mysql/SqlServer比较 (1)
- WebService Axis1.4开发相关 (4)
- 进制数的转换 总结 (1)
- WebService Axis2.0开发相关 (0)
- iteye Struts2 Spring Hibernate整合相关 (3)
- iteye osgi资料相关总结 (1)
- iteye ifos相关相关 (1)
- iteye 国际化相关 (1)
- iteye Hibernate缓存机制 (4)
- iteye Struts2 总结 (1)
- iteye Struts标签总结 (0)
- iteye web配置文件大全 (6)
- iteye Efs 框架总结 (1)
- iteye sql优化 (2)
- iteye 大数据量高并发的数据库优化 (1)
- iteye 开发相关 (1)
- iteye s1sh 和 s2sh整合中的问题以及解决 (1)
- iteye s1sh整合实例 (1)
- iteye s2sh整合实例 (1)
- iteye 面试相关 基础篇 (1)
- iteye Android相关 (1)
- iteye 面试相关 Web篇 (1)
- iteye Sql Server相关 (0)
- iteye struts1与struts2比较 (1)
- iteye jquery 和Struts2 (0)
- iteye struts2与其他插件整合 (0)
- iteye jquery 开发相关 (1)
- iteye eclipse结合spket(Ext,Jquery)开发相关 (0)
- iteye myeclipse 使用技巧相关 (0)
- iteye Memcached 缓存系统相关 (0)
- iteye 常用软件相关 (0)
- iteye 最新技术预览 AjaxSwing (0)
- iteye struts上传下载相关 (0)
- iteye 新技术相关 (0)
- test (0)
- iteye 开发Java游戏相关 (0)
- iteye Java反编译 (0)
- iteye XML解析相关 (0)
- iteye 压缩ZIP相关 (0)
- iteye 面试相关 (0)
- iteye Android开发相关 (4)
- csdn (0)
- e-inoc (0)
- iteye http错误码对应说明 (0)
- iteye 面试扩展知识点 (0)
- iteye oracle面试相关 存储过程,触发器,游标等 (0)
- iteye english study (0)
- iteye starflow工作流引擎 (0)
- iteye IBM WebSphere Application Server Toolkit使用相关 (0)
- iteye spring3 (0)
- iteye mybatis (0)
- iteye js技巧总结 (0)
- iteye SEO优化相关 (2)
- iteye QUI网页界面集成框架 (1)
- iteye AjaxAnywhere (1)
- iteye Nutz相关 (1)
- iteye ibatis技巧 (0)
- iteye dwz (0)
- 128个ajax/javascript框架 (0)
- iteye 2012 Java Swing教程 (1)
- iteye 码头集装箱相关 (1)
- iteye swing (2)
- 兼职工作 (0)
- 2012 新总结的面试相关知识点 常用知识点 (1)
- 淘宝网店相关 (0)
- oracle 常用函数 2012新总结 (1)
- 我的时尚潮流屋 (0)
- 2012 年 面试新总结知识 (1)
- 技巧 (1)
- 2013总结 (1)
- 2015工作相关 (3)
- springmvc (5)
- EasyPR-Java (1)
- java (2)
- editplus 4.0 注册码 (1)
- android (1)
- oracle连接数据库相关 (1)
- 编程资料总结 (2)
- 20160808 (1)
- visio 2013 (1)
最新评论
-
drew926:
泛型的类型参数可以有多个?这是java哪个版本支持的?
java泛型总结 -
listenan:
赞!非常感谢。
Scrum总结 -
cwscwj:
写的很深刻,谢谢,看了一遍,过段时间打算再看一遍。
Scrum总结 -
hwedwin:
w
Struts 2中的OGNL\EL的使用总结 -
lanni2460:
不错 很好 支持……
sqlserver三个驱动包下载
Oracle总结
一、 Oracle安装及基本命令
1、 配置服务
OracleOra10g_home1TNSListener,表示监听服务,如果客户端想连接到数据库,此服务必须打开,此服务必须打开。
OracleService数据库名,表示数据库的主服务,此服务必须启动。
2、 进入sqlplusw,主机字符串处输入数据库名
3、 设置行缓冲长度
set linesize 长度;
4、 修改每页显示记录的长度
set pagesize 行数;
5、 ed 文件名
可以以相应的工具编辑sql文件
然后通过@文件名 就可以执行文件中的命令
通过@路径 可以访问磁盘上的文件,如@d:/demo.txt /可以省略
如果文件的扩展名是.sql,则扩展名可以省略。
6、 更换用户
conn 用户名/密码 [AS SYSDBA| SYSOPER]
如conn scott/manager
如果现在连接的是超级管理员(sys),则在连接的最后必须写上AS SYSDBA,表示以管理员的身份进行连接。
如: conn sys/change_on_install
conn system/manager
访问不同用户下的表,需要加上相应的用户名,如select * from scott.emp
7、 显示当前连接的是哪个用户
show user;
8、 得到数据库中的所有表
select * from tab;
9、 得到表的详细描述
desc emp;
10、
二、 SQL的分类
1、 DML(Data Manipulation Language, 数据查询语言):用于检索或者修改数据
2、 DDL(Data Definition Language, 数据定义语言):用于定义数据的结构,如创建、修改或者删除数据库对象。
3、 DCL(Data Control Language, 数据控制语言):用于定义数据库用户的权限。
三、 简单查询语句
1、 为显示列起别名
select empno 编号, ename 姓名, job 工作 from emp;
2、 DISTINCT的使用
select distinct job from emp;
3、 使用||作连接操作
select ‘编号是:’||empno||’的雇员,姓名是’||enmae||’工作是:’||job from emp;
4、 支持四则运算功能
select ename, sal*12 income from emp;
5、
四、 限定查询
1、 null(如果字段中不存在内容,则为null)
select * from emp where comm. is not null;(查询含有薪水的雇员儿)
2、 支持逻辑运算符and or
3、 not
select * from emp where not(sal>1500 and comm is not null)
4、 between ……and……(包括两端数据)
select * from emp where sal between 1500 and 3000
支持日期的区间取值
select * from emp where hiredate between ‘1-1月 -81’ and ’31-12月 -81’
5、 Oracle对字符串的大小写敏感
6、 [not] in(支持所有类型)
select * from emp where empno in (7369, 7499, 7521);
7、 模糊查询
“%”:可以匹配任意长度的内容
“_”:可以匹配一个长度的内容
如:查询出所有孤雁姓名中第二个字母是M的信息
select * from emp where name like ‘_M%’
查询出在1981年雇佣的雇员信息
select * from emp where hiredate like ‘%81%’
查询工资中包含6的雇员信息
select * from emp where sal like ‘%6%’
如果使用like时,没有查询关键字,则表示查询全部
8、 支持条件运算符,其中不等号有两种表示形式: <> !=
9、 distinct
select {distinct} job from emp
10、 order by 子语中,asc 表示升序, desc表示降序
五、 单行函数
1、 字符函数
a) upper(str) 将小写字母变成大写字母
select upper(‘smith’) from dual
b) lower(str) 将一个字符串变成小写字母表示
c) initcap(str) 将单词的第一个字母大写
select initcap(‘HELLOW word’) from dual;
d) contact(str1, str2) 字符串连接操作
e) substr(str, startPos, length) 截取字符串,第二个参数为开始位置,第三个位置为长度,当第一个参数为0时,oracle会当做1处理,第三个参数省略时,表示截取到字符串尾部。第二个参数为负时,表示从后往前数的位置。
f) length(str) 返回字符串长度
g) replace(str, replacedStr, replaceStr ) 替换字符串,第二个参数为被替换的字符串,第三个参数为替换字符串
select substr(‘hello’, 1, 3), length(‘hello’), replace(‘hello’, ‘l’, ‘x’) from dual
显示所有雇员的姓名及姓名后的三个字母
select ename, substr(ename, length(ename)-2) from emp 或者
select ename, substr(ename, -3, 3) from emp;
2、 数值函数
a) round(number) 四舍五入,默认截取所有小数,round(number, length),第二个参数为保留的小数点位数,当为负时表示舍去的整数位数。
select round(789.536) from dual output:790
select round(789.536, -2) from dual output:800
b) trunk(number) 截取小数位,用法和round相同,只是不进行四舍五入,而仅是进行舍去操作。
select trunk(789.536, -2) output:700
c) mod(number1, number1) 取余,即number1 mod number2
3、 日期函数
a) 日期+(-)日期=日期
日期-日期=数字(天数)
b) 显示当前日期:
select sysdate from dual;
显示雇员进入公司的星期数
select empno, ename, round(sysdate-hiredate)/7 from emp;
c) months_between(date1, date2): 求出给定日期范围的月数
select empno, ename, months_between(sysdate, hiredate) from emp;
d) add_months(date, number) 在指定的日期上加上指定的月数
select add_months(sysdate, 4);
e) next_day():下一个日期是哪一天
select next_day(sysdate, ‘星期一’) from dual;
f) last_date(date): 求出给定日期的每月最后一天的日期
找出每月倒数第三天受雇的所有员工
select * from emp where last_day(hiredate)-2=hiredate
4、 转换函数
a) to_char():转换成字符串
select empno, ename, to_char(hiredate, ‘yyyy’) year,
to_char(hiredate,’mm’) months,
to_char(hiredate, ‘dd’) day
from emp;
用作日期的转换
to_char(hiredate, ‘yyyy-mm-dd’)
在日期格式前加上fm,则会去除前导0
to_char(hiredate, ‘fmyyyy-mm-dd’)
可以用于格式化数字,格式字符串中可以使用$(表示美元)L(Local的缩写,以本地的语言进行金额的显示)
to_char(sal, ’L99.999’)
b) to_number(str): 转换成数字
c) to_date():转换成日期
select to_date(‘2009-02-16’, ‘yyyy-mm-dd’) from dual;
5、 通用函数
a) nvl(col, value) 如果col的值为null,则表达式的值为value,否则为col
select nvl(comm, 0)
b) decode(col/expression, value1, result1, value2, result2, … , [default]) 相当于if… else if … else if… else… 语句
select ename 雇员姓名, decode(job, ‘CLERK’, ‘业务员’, ‘SALESMAN’, ‘销售人员’, ‘MANAGER’, ‘经理’ ) 职位 from emp;
6、
六、 查询语句中应该注意的问题
1、 左右连接
选择一个雇员的姓名和其领导的姓名
select e.ename, m.ename from emp from emp e, emp m where e.empno=m.empno(+)
此时使用做链接,雇员信息将全部显示出来,即使没有领导信息。
+在左边表示右连接,+在右边表示左连接。左连接表示左边数据全部显示,有链接表示右表数据全部显示。
2、 SQL1999语法对SQL的支持
a) 交叉连接(corss join用于产生笛卡尔积)
select * from emp cross join dept;
b) 自然连接(nature join)
select * from emp nature join dept;
c) using子句:用于指定连接的字段
select * from emp join dept using(deptno) where deptno=30;
d) on子句,用于指定连接条件
select * from emp e join dept d on(e.deptno=d.deptno) where e.deptno=30;
e) 左(外)连接,右(外)连接
select e.enme, e.ename from emp e RIGHT OUTER JOIN dept d
ON(e.deptno=d.deptno); 即d中的所有行全部显示
左外连接同理。
七、 组函数和分组统计
1、 组函数
COUNT([DISTINCT|ALL] 列名|*)
MAX([DISTINCT|ALL] 列名|*)
MIN([DISTINCT|ALL] 列名|*)
AVG([DISTINCT|ALL] 列名|*)
SUM([DISTINCT|ALL] 列名|*)
2、 如果程序中出现了分组函数,则有两种使用的情况
a) 程序中存在了group by,并指定了分组条件,这样可以将分组条件一起查询出来。
b) 如果不适用分组,则只能单独使用分组函数
3、 分组函数不允许在where语句中出现,分组条件只能通过having指定
4、 组查询语法
select … where …[ group by … having … ] [order by … ]
5、 显示非销售人员工作名称及从事同一工作雇员的月工资的总和,并且满足同一工作的月工资合计大于$5000,输出结果按月工资的合计排序
select job, sum(sal) su
from emp
where job<>’SALSMAN’
group by job having sum(sa)>5000
order by su
6、 组函数可以嵌套使用,但是在组函数嵌套使用的时候不能再出现分组条件的查询语句。
select max(avg(sal)) from emp group by deptno
八、 子查询
1、 子查询在操作中分为以下三类
a) 单列子查询:返回结果是一列的内容
b) 多行子查询:返回多个列,有可能是一条完整的记录
c) 多行子查询:返回多条记录
2、 要求查询出:部门名称、部门的员工数、部门的平均工资,部门最低收入雇员的姓名。
select d.name, ed.ct, ed.av
from dept d,
( select deptno count(empno) ct, avg(sal) av, min(sal) min
from emp
group by depno
) ed, emp e
where d.deptno = emp.deptno and d.deptno=emp.deptno and e.sal=ed.min
3、 在子查询中,存在以下三种操作符号
a) IN
求出每个部门的最低工资的员工信息
select * from emp where emp.sal in
(select min(sal) from emp group by deptno)
b) ANY
i. =ANY 与IN操作完全相同
select * from emp
where sal=any(select min(sal) from emp group by deptno)
ii. >ANY 比里面最小的值要大
select * from emp
where sal>any(select min(sal) from emp group by deptno)
iii. <ANY 比里面最大的值要小
select * from emp
where sal>any(select min(sal) from emp group by deptno)
c) ALL
i. >ALL 比最大的值要大
ii. <ALL比最小的值要小
九、 事务处理
1、 事务处理命令
a) 事务提交:commit
b) 事务回滚:rollback
2、 Oracle中可能发生死锁
一个session如果更新了数据库中的记录,其他session是无法立刻更新的,要等待对方提交之后才允许更新。
十、 数据库的更新操作
1、 复制表
create table 表名称 as (子查询),此语法只在oracle中起作用
如果子查询中的where条件是一个非真条件,则只复制表结构,不复制表数据。
2、 固定格式日期的插入,需要使用日期函数to_date();
一、 Oracle安装及基本命令
1、 配置服务
OracleOra10g_home1TNSListener,表示监听服务,如果客户端想连接到数据库,此服务必须打开,此服务必须打开。
OracleService数据库名,表示数据库的主服务,此服务必须启动。
2、 进入sqlplusw,主机字符串处输入数据库名
3、 设置行缓冲长度
set linesize 长度;
4、 修改每页显示记录的长度
set pagesize 行数;
5、 ed 文件名
可以以相应的工具编辑sql文件
然后通过@文件名 就可以执行文件中的命令
通过@路径 可以访问磁盘上的文件,如@d:/demo.txt /可以省略
如果文件的扩展名是.sql,则扩展名可以省略。
6、 更换用户
conn 用户名/密码 [AS SYSDBA| SYSOPER]
如conn scott/manager
如果现在连接的是超级管理员(sys),则在连接的最后必须写上AS SYSDBA,表示以管理员的身份进行连接。
如: conn sys/change_on_install
conn system/manager
访问不同用户下的表,需要加上相应的用户名,如select * from scott.emp
7、 显示当前连接的是哪个用户
show user;
8、 得到数据库中的所有表
select * from tab;
9、 得到表的详细描述
desc emp;
10、
二、 SQL的分类
1、 DML(Data Manipulation Language, 数据查询语言):用于检索或者修改数据
2、 DDL(Data Definition Language, 数据定义语言):用于定义数据的结构,如创建、修改或者删除数据库对象。
3、 DCL(Data Control Language, 数据控制语言):用于定义数据库用户的权限。
三、 简单查询语句
1、 为显示列起别名
select empno 编号, ename 姓名, job 工作 from emp;
2、 DISTINCT的使用
select distinct job from emp;
3、 使用||作连接操作
select ‘编号是:’||empno||’的雇员,姓名是’||enmae||’工作是:’||job from emp;
4、 支持四则运算功能
select ename, sal*12 income from emp;
5、
四、 限定查询
1、 null(如果字段中不存在内容,则为null)
select * from emp where comm. is not null;(查询含有薪水的雇员儿)
2、 支持逻辑运算符and or
3、 not
select * from emp where not(sal>1500 and comm is not null)
4、 between ……and……(包括两端数据)
select * from emp where sal between 1500 and 3000
支持日期的区间取值
select * from emp where hiredate between ‘1-1月 -81’ and ’31-12月 -81’
5、 Oracle对字符串的大小写敏感
6、 [not] in(支持所有类型)
select * from emp where empno in (7369, 7499, 7521);
7、 模糊查询
“%”:可以匹配任意长度的内容
“_”:可以匹配一个长度的内容
如:查询出所有孤雁姓名中第二个字母是M的信息
select * from emp where name like ‘_M%’
查询出在1981年雇佣的雇员信息
select * from emp where hiredate like ‘%81%’
查询工资中包含6的雇员信息
select * from emp where sal like ‘%6%’
如果使用like时,没有查询关键字,则表示查询全部
8、 支持条件运算符,其中不等号有两种表示形式: <> !=
9、 distinct
select {distinct} job from emp
10、 order by 子语中,asc 表示升序, desc表示降序
五、 单行函数
1、 字符函数
a) upper(str) 将小写字母变成大写字母
select upper(‘smith’) from dual
b) lower(str) 将一个字符串变成小写字母表示
c) initcap(str) 将单词的第一个字母大写
select initcap(‘HELLOW word’) from dual;
d) contact(str1, str2) 字符串连接操作
e) substr(str, startPos, length) 截取字符串,第二个参数为开始位置,第三个位置为长度,当第一个参数为0时,oracle会当做1处理,第三个参数省略时,表示截取到字符串尾部。第二个参数为负时,表示从后往前数的位置。
f) length(str) 返回字符串长度
g) replace(str, replacedStr, replaceStr ) 替换字符串,第二个参数为被替换的字符串,第三个参数为替换字符串
select substr(‘hello’, 1, 3), length(‘hello’), replace(‘hello’, ‘l’, ‘x’) from dual
显示所有雇员的姓名及姓名后的三个字母
select ename, substr(ename, length(ename)-2) from emp 或者
select ename, substr(ename, -3, 3) from emp;
2、 数值函数
a) round(number) 四舍五入,默认截取所有小数,round(number, length),第二个参数为保留的小数点位数,当为负时表示舍去的整数位数。
select round(789.536) from dual output:790
select round(789.536, -2) from dual output:800
b) trunk(number) 截取小数位,用法和round相同,只是不进行四舍五入,而仅是进行舍去操作。
select trunk(789.536, -2) output:700
c) mod(number1, number1) 取余,即number1 mod number2
3、 日期函数
a) 日期+(-)日期=日期
日期-日期=数字(天数)
b) 显示当前日期:
select sysdate from dual;
显示雇员进入公司的星期数
select empno, ename, round(sysdate-hiredate)/7 from emp;
c) months_between(date1, date2): 求出给定日期范围的月数
select empno, ename, months_between(sysdate, hiredate) from emp;
d) add_months(date, number) 在指定的日期上加上指定的月数
select add_months(sysdate, 4);
e) next_day():下一个日期是哪一天
select next_day(sysdate, ‘星期一’) from dual;
f) last_date(date): 求出给定日期的每月最后一天的日期
找出每月倒数第三天受雇的所有员工
select * from emp where last_day(hiredate)-2=hiredate
4、 转换函数
a) to_char():转换成字符串
select empno, ename, to_char(hiredate, ‘yyyy’) year,
to_char(hiredate,’mm’) months,
to_char(hiredate, ‘dd’) day
from emp;
用作日期的转换
to_char(hiredate, ‘yyyy-mm-dd’)
在日期格式前加上fm,则会去除前导0
to_char(hiredate, ‘fmyyyy-mm-dd’)
可以用于格式化数字,格式字符串中可以使用$(表示美元)L(Local的缩写,以本地的语言进行金额的显示)
to_char(sal, ’L99.999’)
b) to_number(str): 转换成数字
c) to_date():转换成日期
select to_date(‘2009-02-16’, ‘yyyy-mm-dd’) from dual;
5、 通用函数
a) nvl(col, value) 如果col的值为null,则表达式的值为value,否则为col
select nvl(comm, 0)
b) decode(col/expression, value1, result1, value2, result2, … , [default]) 相当于if… else if … else if… else… 语句
select ename 雇员姓名, decode(job, ‘CLERK’, ‘业务员’, ‘SALESMAN’, ‘销售人员’, ‘MANAGER’, ‘经理’ ) 职位 from emp;
6、
六、 查询语句中应该注意的问题
1、 左右连接
选择一个雇员的姓名和其领导的姓名
select e.ename, m.ename from emp from emp e, emp m where e.empno=m.empno(+)
此时使用做链接,雇员信息将全部显示出来,即使没有领导信息。
+在左边表示右连接,+在右边表示左连接。左连接表示左边数据全部显示,有链接表示右表数据全部显示。
2、 SQL1999语法对SQL的支持
a) 交叉连接(corss join用于产生笛卡尔积)
select * from emp cross join dept;
b) 自然连接(nature join)
select * from emp nature join dept;
c) using子句:用于指定连接的字段
select * from emp join dept using(deptno) where deptno=30;
d) on子句,用于指定连接条件
select * from emp e join dept d on(e.deptno=d.deptno) where e.deptno=30;
e) 左(外)连接,右(外)连接
select e.enme, e.ename from emp e RIGHT OUTER JOIN dept d
ON(e.deptno=d.deptno); 即d中的所有行全部显示
左外连接同理。
七、 组函数和分组统计
1、 组函数
COUNT([DISTINCT|ALL] 列名|*)
MAX([DISTINCT|ALL] 列名|*)
MIN([DISTINCT|ALL] 列名|*)
AVG([DISTINCT|ALL] 列名|*)
SUM([DISTINCT|ALL] 列名|*)
2、 如果程序中出现了分组函数,则有两种使用的情况
a) 程序中存在了group by,并指定了分组条件,这样可以将分组条件一起查询出来。
b) 如果不适用分组,则只能单独使用分组函数
3、 分组函数不允许在where语句中出现,分组条件只能通过having指定
4、 组查询语法
select … where …[ group by … having … ] [order by … ]
5、 显示非销售人员工作名称及从事同一工作雇员的月工资的总和,并且满足同一工作的月工资合计大于$5000,输出结果按月工资的合计排序
select job, sum(sal) su
from emp
where job<>’SALSMAN’
group by job having sum(sa)>5000
order by su
6、 组函数可以嵌套使用,但是在组函数嵌套使用的时候不能再出现分组条件的查询语句。
select max(avg(sal)) from emp group by deptno
八、 子查询
1、 子查询在操作中分为以下三类
a) 单列子查询:返回结果是一列的内容
b) 多行子查询:返回多个列,有可能是一条完整的记录
c) 多行子查询:返回多条记录
2、 要求查询出:部门名称、部门的员工数、部门的平均工资,部门最低收入雇员的姓名。
select d.name, ed.ct, ed.av
from dept d,
( select deptno count(empno) ct, avg(sal) av, min(sal) min
from emp
group by depno
) ed, emp e
where d.deptno = emp.deptno and d.deptno=emp.deptno and e.sal=ed.min
3、 在子查询中,存在以下三种操作符号
a) IN
求出每个部门的最低工资的员工信息
select * from emp where emp.sal in
(select min(sal) from emp group by deptno)
b) ANY
i. =ANY 与IN操作完全相同
select * from emp
where sal=any(select min(sal) from emp group by deptno)
ii. >ANY 比里面最小的值要大
select * from emp
where sal>any(select min(sal) from emp group by deptno)
iii. <ANY 比里面最大的值要小
select * from emp
where sal>any(select min(sal) from emp group by deptno)
c) ALL
i. >ALL 比最大的值要大
ii. <ALL比最小的值要小
九、 事务处理
1、 事务处理命令
a) 事务提交:commit
b) 事务回滚:rollback
2、 Oracle中可能发生死锁
一个session如果更新了数据库中的记录,其他session是无法立刻更新的,要等待对方提交之后才允许更新。
十、 数据库的更新操作
1、 复制表
create table 表名称 as (子查询),此语法只在oracle中起作用
如果子查询中的where条件是一个非真条件,则只复制表结构,不复制表数据。
2、 固定格式日期的插入,需要使用日期函数to_date();
发表评论
-
优化Oracle数据库性能
2010-09-29 19:55 1125优化Oracle数据库性能 ... -
Oracle 体系结构介绍
2010-09-25 08:14 939Oracle 体系结构介绍 1、 ORACLE 实 ... -
Oracle sequence序列的用法
2010-09-24 09:08 1577Oracle sequence序列的用法 orac ... -
用java调用oracle存储过程总结
2010-09-24 08:51 1751用java调用oracle存储过程 ... -
Oracle存储过程总结
2010-09-24 08:49 1111Oracle存储过程总结 1、创建存储过程 crea ... -
Oracle创建索引要做到的几个方面
2010-09-24 08:45 1225Oracle创建索引要做到的 ... -
数据表设计原则
2010-09-24 08:35 999数据表设计原则 1)不 ... -
Oracle 的物化视图
2010-09-24 08:25 1467Oracle 的物化视图 Oracl ... -
物化视图相关
2010-09-24 08:23 1120物化视图 物化视图 ... -
Oracle数据库设计——定义约束 主键
2010-09-24 08:19 3455Oracle数据库设计——定义约束 主键 声明约束 主 ... -
oracle主键的设置
2010-09-24 08:16 1527oracle主键的设置 四种 ... -
oracle索引 约束简单总结
2010-09-24 08:09 1045oracle索引 约束简单总结 什么时候应该建立索引? ... -
oracle中各种索引的总结
2010-09-24 08:07 1377oracle中各种索引的总结 索引在ORACLE S ... -
Oracle的索引总结
2010-09-24 08:05 1089Oracle的索引总结 1. 索引与日志 ... -
Oracle DBA常用命令总结
2010-09-23 19:56 1307Oracle DBA常用命令总结 //创建临时表空间 ... -
Oracle中UNION 与UNION ALL的学习
2010-09-16 15:20 1370Oracle中UNION 与UNION ALL的学习 1、 ... -
java连接oracle的二种方法
2010-09-11 09:59 1748建立和分析java程序和 ... -
oracle 10g驱动包下载
2010-09-11 09:58 7645oracle 10g驱动包下载 我 ... -
Oracle PL-SQL中 左连接和右连接用法
2010-09-08 20:24 2461数据表的连接有: 1、内连接(自然连接): 只有两个表相匹配的 ... -
oracle相关
2010-09-07 15:06 848oracle相关知识点
相关推荐
Oracle是世界上最流行的关系型数据库管理系统之一,以其强大的数据处理能力和高度的可扩展性而闻名。在本文中,我们将深入探讨Oracle数据库系统的核心概念、管理和优化技术。 首先,Oracle数据库采用SQL(结构化...
Oracle OCI(Oracle Call Interface)是Oracle数据库提供的一种C语言编程接口,它允许程序员直接与Oracle数据库进行通信,实现高效的数据存取和管理。这个接口提供了丰富的功能,包括SQL语句执行、事务控制、游标...
oracle总结.chmoracle总结.chm
Oracle总结 Oracle是一种关系型数据库管理系统,广泛应用于各种行业。下面是 Oracle 中的一些重要知识点总结: 1. 在 Oracle 中关于 CLOB 类型数据的插入: Oracle 中的 CLOB(Character Large OBject)类型是...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其在企业级应用中占据着核心地位。以下是对Oracle数据库一些关键知识点的详细阐述,这些内容对于面试和日常开发工作都非常关键。 一、SQL基础 Oracle SQL是...
本文将详细解析"非常完整和齐的Oracle总结文档第2版本"中涉及的关键知识点。 首先,Oracle数据库在安装时会自动创建两个默认用户:sys和system。sys是超级用户,拥有最高的权限,包括sysDBA角色,能够创建新的...
以下是对"在VMware中装JDK,Oracle总结"这一主题的详细阐述。 首先,让我们了解JDK。JDK是Java编程语言的核心组件,包含了Java运行时环境(JRE)、编译器(javac)、Java应用程序启动器(java.exe)以及其他开发工具...
oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结...
学习概要总结
这篇"ORACLE总结大全"旨在提供全面的SQL语句理解和实践案例,帮助用户掌握Oracle数据库的操作和管理。 首先,SQL(Structured Query Language)是用于管理关系数据库的语言,包括数据查询、更新、插入和删除等操作...
本资料包"SQL(oracle).rar"显然是针对Oracle数据库系统,特别是其SQL语法和PL/SQL编程的深入学习总结。 首先,Oracle SQL与标准SQL略有不同,它包含了一些特定于Oracle的功能,如子查询、连接操作、游标、函数和...
包含Oracle的SQL语句执行效率问题查找与解决方法文档,oracle性能优化总结文档,数据库设计方法文档,SQL语句全优化文档,数据库设计中的14个实用技巧文档,优化Oracle库表设计的若干方法等...对于想系统研究数据库和...
本人自己总结的尚学堂oracle笔记,希望能派上用场,本资源不收资源分,大家可以随意下载
oracle详细总结,经典习题练习让你,巩固已经学习过的知识
个人工作中的总结,主要是关于oracle这块,在工作过程中遇见问题的一些记录与整理 个人工作中的总结,主要是关于oracle这块,在工作过程中遇见问题的一些记录与整理
这篇笔记总结将深入探讨Oracle的核心概念、关键功能以及常见操作,旨在帮助读者理解和掌握Oracle数据库的关键知识点。 一、Oracle数据库基础 Oracle数据库采用SQL(结构化查询语言)作为其主要的数据交互方式,支持...