




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Oracle 表的管理表名和列的命名规则必须以字母开头长度不能超过30个字符不能使用oracle的保留字只能是使用如下字符A-Z,a-z,0-9,# 等Oracle 支持的数据类型l 字符型Char 定长 最大2000字符例:char(10) 小韩前四个字符放小韩,后添加6个空格补全Varchar2(20) 变长 最大4000字符例:varchar2(10) 小韩 oracle 分配四个字符。Clob(character large object) 字符型大对象 最大4Gl 数字型Number 范围 -10的38次方- 10的38次方可以表示整数,也可以表示小数Number(5,2)表示一个小数有5位有效数,2位小数范围-999.99-999.99Number(5)表示一个5位整数范围-99999-99999l 日期类型Date 包含年月日和时分秒Timestamp 这是oracle9i对date数据类型的扩展l 图片类型Blob 二进制数据 可以存放图片/声音 4Gl 建表-学生表Sql create table student(Xh number(4),Xm varchar2(20),Sex char(2),Birthday data,Sal number(7,2):l 修改表添加一个字段Sql alter table student add(classid number(2);修改一个字段的长度Sqlalter table student modify(xm varchar2(30);修改字段的类型/或是名字(不能有数据)Sqlalter table student modify (xm char(30);删除一个字段Sqlalter table student drop column sal;修改表的名字Sqlrename student to stu;删除表Sqldrop table student;查看表Sql desc student;l 添加数据 所有字段都插入Insert into student values (1,张三,男,01-9月-05,10);ORACLE 中默认的日期格式DD-MON-YY,2005年9月1日改日期的默认格式Alter session set nls_date_format=yyyy-mm-dd;插入部分数据Insert into student(xh,xm,sex,birthday) values(2,李四,男,null);l 查空值Select * from student where birthday is null;修改一个字段Update student set sex=女 where xh=1;修改多个字段Update student set sex=男,birthday=1908-04-01 Where xh=1;修改含有null值的数据l 删除数据Delete from student; 删除所有记录,表结构还在,写日志,可以恢复,速度慢Drop table student ; 删除表的结构和数据Delete from student where xh=1;删除一条记录Truncate table student; 删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快创建保存点Savapoint aa;回滚到保存点Rollback to aa;l ORACLE表基本查询查看表结果Desc dept查看所有列Select * from emp;查询指定列Select ename,sal,job from emp;取消重复行Select distinct deptno,job,from emp;l 使用算术表达式显示每个雇员的年工资使用列的别名Select ename “姓名”,sal*12 as “年收入” from emp;如何处理NULL值使用nvl 函数来处理Select sal*13+nvl(comm.,0)*13 “年工资” ,ename,comm. From emp;如何连接字符串(|)Select ename| is a| job from emp;l 使用where 子句如何显示工资高于3000的员工Select * from emp where sal3000;如何查找1982.1.1后入职的员工Select * from emp where hiredate1-1月-1982;如何显示工资在2000到2500的员工Select *from emp where sal2000 and sal500 or job=MANAGER) and ename likeJ%;使用order by 子句如何按照工资的从低到高的顺序显示雇员的信息Select * from emp order by sal; 降序在最后加 desc按照部门号升序而雇员的工资降序排列Select *from emp order by deptno ,sal desc;使用列的别名排序Select ename,(sal+nvl(comm.,0)*12 “年薪” from emp order by “年薪”;l 数据分组-max,min ,avg,sun,count如何显示所有员工中最高工资和最低工资Select max(sal),min(sal) from emp;显示所有员工的平均工资和工资总和Select avg(sal),sun(sal) from emp;计算共有多少员工Select count(*) from emp;显示工资最高的员工的名字,工作岗位Select ename ,sal from emp where sal=(select max(sal) from emp);显示工资高于平均工资的员工的信息Select * from emp where sal(select avg(sal) from emp)GROUP BY和having子句Group by 用于对查询的结果分组统计Having子句用于限制分组显示结果如何显示每个部门的平均工资和最高工资Select avg(sal),max(sal),deptno from emp group by deptno;显示每个部门的每种岗位的平均工资和最低工资Select avg(sal),max(sal),deptno,job from emp group by deptno,job;显示平均工资低于2000的部门号和它的平均工资Select deptno,avg(sal) from emp group by deptno having avg(sal)2000;l 数据分组总结1、 分组函数只能出现在选择列表、having、order by子句中2、 如果在select 语句中同时包含有group by ,having ,order by 那么他们的顺序是group by ,having ,order by 3、 在选择列中如果有列、表达式、和分组函数,那么这些列和表达式必须有一个出现在group by 子句中,否则会出错例:Select deptno,avg(sal) from emp group by deptno having avg(sal)2000 order by avg(sal);多表查询多表查询时指基于两个和两个以上的表或者是视图的查询。规定:多表查询的条件是:至少不能少于表的个数-1显示雇员名,雇员工资及所在部门的名字Select emp.ename,emp.sal,dept.dname from emp,dept where emp.deptno=dept.deptno;显示部门号为10的部门名,员工名和工资Select a1.dname,a2.ename,a2.job from dept a1,emp a2 where a1.deptno=a2.depton and a1.deptno=10;显示各个员工的姓名,工资,及工资的级别Select a1.ename,a1.sal,a2.grade from emp a1,salgrade a2 where a1.sal between a2.losal and a2.hisal;显示雇员名,雇员工资及所在部门的名字,并按部门排序Select a1.ename,a1.sal,a2.dname from emp a1,dept a2 where a1.deptno=a2.deptno order by a1.deptno;l 自连接自连接是指在同一张表的连接查询、显示FORD的上级领导的姓名Select worker.ename,boss.ename from emp worker,emp boss where worker.mgr=boss.empno and worker.ename=FORD;l 子查询子查询是指嵌入子其他SQL语句中的selet 语句,也叫嵌套查询单行自查询单行子查询是指只返回一行数据的子查询语句显示与SMITH同一部门的所有员工Select ename,deptno from emp where deptno=(select deptno from where ename=SMITH);多行子查询多行子查询是指返回多行数据的子查询查询和部门10的工作相同的雇员的名字、岗位、工资、部门号Select ename,job,sal,deptno from emp where job in (select distinct job from emp where deptno=10);l 在多行子查询中使用all操作符显示工资比部门30的所有员工的工资高的员工的姓名、工资和部门号1、Select ename,sal,deptno from emp where salall(select sal from emp where deptno=30);2、select ename,sal,deptno from emp where sal(select max(sal) from emp where deptno=30);l 在多行子查询中使用any操作符显示工资比部门30的任意一个员工的工资高的员工的姓名、工资、部门号1、Select ename,sal,deptno from emp where sal any(select sal from emp where deptno=30);2、select ename,sal,depton from emp where sal(select min(sal) from emp where deptno=30);No多列子查询多列子查询是指查询返回多个列数据的子查询语句查询与smint 的部门和岗位完全相同的所有雇员Select * from emp where (deptno,job) = (select deptno,job from emp where ename=SMITH);在from子句中使用子查询当在from子句中使用子查询时,该子查询会被作为一个视图来对待,因此叫内嵌视图,当在from 子句中使用子查询时,必须给子查询指定别名显示高于自己部门平均工资的员工的信息Select * from emp a2,(select deptno ,avg(sal) mysal from emp group by deptno)al where a2.deptno=a1.deptno and a2.sala1.mysal;分页子查询一共有三种1 RounumSelect a1.*,rownum rn from(select * from emp) a1;Select a1.*,rownum rn from(select * from emp) a1 where rownum=10;Select * from (Select a1.*,rownum rn from(select * from emp) a1 where rownum=6;用查询结果创建新表Create table mytable(id,name,sal,job,deptno) as select enpno,ename,sal,job,deptno from emp;l 合并查询 有时在实际使用中,为了合并多个select 语句结果,可以使用集合操作符号union,union al,inters
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 快手客服培训体系
- 中学戏剧教学课件
- 瑜伽工作基础知识培训课件
- 2025年事业单位工勤人员2025考试试题库(附答案)
- 摄影专业面试题目及答案
- 2025年摩托车维修工(操作员)摩托车维修行业智能出行智能制造考试试卷
- 黑龙江建筑职业技术学院《微生物与人类》2024-2025学年第一学期期末试卷
- 重庆建筑工程职业学院《动态网页设计与网站建设》2024-2025学年第一学期期末试卷
- 2025年燃气储运基础知识模拟面试题及解析
- 大庆医学高等专科学校《区域数字经济调查》2024-2025学年第一学期期末试卷
- 多媒体教室使用的课件
- 2025年军队专业技能岗位文职人员招聘考试(工程机械驾驶员)历年参考题库含答案详解(5卷)
- 2025年下半年广西现代物流集团社会招聘校园招聘笔试参考题库附带答案详解(10套)
- 2025年粉笔辅警考试题库
- 水声传感器技术研究与应用
- 2025年小学教研室教学计划
- 2025年上海市建筑工程施工合同模板
- 手术室护理业务学习
- 贩卖人口罪与强迫劳动罪
- 新员工入职职业道德培训
- 宽带宣传活动方案
评论
0/150
提交评论