韩顺平oracle视频笔记三

原创 2013年12月04日 09:55:20

查看一个表的结构
desc scott.dept;

打开显示操作的开关,即相关操作显示多长时间
set timing on;

指定查询列比查询所有列要快

create tables users(
userid varchar2(20),
username varchar2(20),
password varchar2(20)
);
insert into users(userid,username,password)select * from users;
按照上面的操作将会是呈指数增长


select distinct deptno from emp;
select distinct * from emp;

SQL语句的where区分大小写
SQL> select deptno,job,sal from emp where ename='smith';
SQL> select deptno,job,sal from emp where ename='SMITH';
但是SQL语句的关键字——列明、表明、关键字都不区分大小写

select sal*13 as "年工资",ename from scott.emp;
注意:上面的重命名使用的是“双引号”
select sal*13+comm as "年工资",ename from scott.emp;
注意:上面的查询结果可以发现有些人的工资是没有的,因为oracle查询运算发现如果有一个值为空则值的结果就位空
select sal*13+nvl(comm,0) as "年工资",ename from scott.emp;
备注:nvl(comm,0),如果comm的值为空就变为0,如果不为空就是comm

如何根据时间条件查找?查找大于1982年入职的同时信息
select * from emp where emp.hiredate>'1-1月-1982';
查询工资大于2000小于2500的员工信息
select * from emp where sal between 2000 and 2500;

%表示0到多个字符
_表示任意单个字符
如何显示首字母为S的员工的姓名?
SQL> select * from emp where ename like 'S%';
如何显示第三个字符为大写O的所有员工的信息?
select * from emp where ename like '__O%';

尽量使用in这种方式,效率比or快多了
SELECT * FROM EMP WHERE EMPNO IN(7369,223,4,12,32,4,324);

显示没有“上级”领导的信息
select * from emp where mgr is null;

查询工资大于500或者是职位为经理并且名字是已J开头的
select * from emp where (sal>500 or job='MANAGER')AND ENAME LIKE 'J%';

select * from emp order by desc;//降序
select * from emp order by asc;//升序,默认的

查询部门号降序,工资降序排列——先排列deptno降序,然后再在同deptno情况下对sal再次降序排列
select * from emp order by deptno desc ,sal desc;
select  ename,(sal*13+nvl(comm,0)) "年薪" from emp order by "年薪" desc;


数据分组——max,min,avg,sum,count
显示员工的最高和最低工资
select max(sal) as "最高工资",min(sal) as "最低工资" from emp;
显示最高薪水员工的信息
select * from emp where sal in(select max(sal) as "最高工资" from emp);
select * from emp where sal=(select max(sal) as "最高工资" from emp);

显示所有员工的平均工资和工资总和
SQL> select avg(sal) from emp ;
查询大于平均工资的员工信息
select * from emp where sal < (select avg(sal) from emp );
计算共有多少员工
select count(*)from emp;

group by对查询结果分组统计
显示每个部门的平均工资和最高工资
select deptno,avg(sal),max(sal) from emp group by deptno;
显示每个部门的每种岗位的平均工资和最低工资
SQL> select deptno,job,avg(sal),max(sal) from emp group by deptno,job;
显示平均工资低于2000的部门号和他的平均工资
select deptno,avg(sal)from emp group by deptno having avg(sal)>2000;
having子句用于限制分组显示结果

如果一个查询语句如果同时包含下面三个限制条件,顺序如下
group by --> having --> order by

多表查询(就是多张表记录的成积即“”)笛卡尔积
select dept.dname from dept,emp where dept.deptno=emp.deptno;
select distinct dept.dname from dept,emp where dept.deptno=emp.deptno;


自连接查询
查询某个员工的上级领导的姓名,比如是FORD
select boss.* from emp worker,emp boss where worker.ename='FORD' and worker.mgr=boss.empno;

嵌套查询
显示与SMITH同一部门的所有员工
select * from emp where deptno = (select deptno from emp where ename='SMITH');
select * from emp where deptno in (select deptno from emp where ename='SMITH');
备注:数据库的执行时“从左到右”
查询和部门10的工作相同的雇员的名字、岗位、工资、部门号
SQL> select * from emp where emp.job in  (select job from emp where emp.deptno=10);

关于多列嵌套查询
查询与SMITH部门和工作相同的人员信息;
select * from emp where (deptno,job)=(select deptno,job from emp where ename='SMITH');

高于自己部门平均工资的员工信息
1、查询各个部门的平均工资和部门编号
select deptno,avg(sal) from emp group by deptno;
2、把上面的查询看做是一张子表
select a1.*,a2.mysal from emp a1,(select deptno,avg(sal) as mysal from emp group by deptno) a2 where a1.sal > a2.mysal and a1.deptno = a2.deptno;
备注:(在这里针对ORACL)在给表取别名的时候不要用as,否则会报错,但是可以给列取别名用as
当from子句中使用子查询时,该子查询会被作为一个视图来对待,因此叫作内嵌视图,当在from子句中使用子查询时,必须给子查询指定别名


ORACL分页查询
1、rownum分页
select * from emp;
2、找到rownum属性的值
select a1.*,rownum rn from (select * from emp) a1;
3、查询rn小于10的数据
select * from (select a1.*,rownum rn from (select * from emp) a1) a2 where a2.rn<10;
4、限定查询的rn大于6的数据
select * from (select * from (select a1.*,rownum rn from (select * from emp) a1) a2 where a2.rn<10)a3 where a3.rn>6;

倒表(创建一个已有表的一部分或者是全部,也把数据复制了)
SQL> create table my_emp(id,name,sal)as select empno,ename,job from emp;
SQL> desc my_emp;
Name Type         Nullable Default Comments
---- ------------ -------- ------- --------
ID   NUMBER(4)    Y                        
NAME VARCHAR2(10) Y                        
SAL  VARCHAR2(9)  Y                        
SQL> select * from my_emp;

希望SCOTT的岗位、工资、补助和SMITH一样
update emp set(job,sal,comm)=(select job,sal,comm from emp where ename='SMITH') where ename='SCOTT';

 

  • e1f5c75e-f8a1-3fe5-bb8a-a6a5b001b2b9-thumb.bmp
  • 大小: 4.4 KB
  • 049a0e6f-816d-3aae-ba2e-ad787c990cc2-thumb.bmp
  • 大小: 9.1 KB

Linux学习笔记(观看韩顺平老师Linux视频的总结)

接触Linux是去年下半年,从那以后,我便一直使用ubuntu系列的操作系统。买了本《鸟哥的Linux私房菜》这本书和观看韩顺平老师的Linux视频,以及下载一个ubuntu系列的操作系统安装在自己的...
  • u013962600
  • u013962600
  • 2014年04月05日 17:28
  • 1993

(转)韩顺平j2ee学习笔记与心得

Java EE概念:Java EE是一个开放的平台,它包括的技术很多,主要包括十三种核心技术(java EE就是十三种技术的总称)。建立一个整全的概念。要成为一个java EE程序员,必须掌握的技术是...
  • lishirong
  • lishirong
  • 2014年12月02日 09:47
  • 2290

韩顺平jsp学习笔记

jsp u  j2ee核心13种技术: 程序员必须掌握的技术:java,servlet,jsp。 13种技术规范. u  j2ee程序员修炼成精法门 u  jsp 版本的用户管理系统:将se...
  • aminxu
  • aminxu
  • 2013年12月09日 16:19
  • 2607

韩顺平2011细说Servlet笔记1

韩顺平2011细说Servlet笔记1 2012-06-16 18:18 1278人阅读 评论(0) 收藏 举报 servlettomcat浏览器web服务stringweb u...
  • p656456564545
  • p656456564545
  • 2013年11月03日 10:54
  • 1931

Hibernate入门一(韩顺平Hibernate从入门到精通视频教程1-3笔记)

持久化就是有两种:文件和数据库,即把一个东西长久的保存起来。 Hibernate是什么? 1.hibernate是一个框架 2.hibernate是一个ORM框架   ORM(Obje...
  • zhanghuanlucy
  • zhanghuanlucy
  • 2014年12月10日 16:41
  • 1368

韩顺平呕心沥血Java+PHP+linux+div+css等视频下载地址

这是我在淘宝上淘到的 ,拿来和大家共享一下!想好好学习IT的人一定不能错过!! 韩顺平全套教程下载地址,PHP,JAVA,终生可下载 传智播客_韩顺平ajax技术教程 http://dl.dba...
  • ItJavawfc
  • ItJavawfc
  • 2014年07月22日 19:53
  • 6197

韩顺平老师 Mysql优化 笔记

u      mysql的优化 1.      数据库(表)设计合理 我们的表设计要符合3NF   3范式(规范的模式) , 有时我们需要适当的逆范式 2.      sql语句的优化(索引,常...
  • abc456456456456
  • abc456456456456
  • 2014年04月12日 17:41
  • 689

韩顺平 javascript教学视频_学习笔记34_js正则表达式详解

内容介绍----正则表达式的详解 正则表达式对象: RegExp对象方法 我们来看一下RegExp对象都有哪些方法 ...
  • fuyizhonhong
  • fuyizhonhong
  • 2016年02月23日 16:49
  • 1731

韩顺平Servlet与JSP视频课程心得与体会

1.同一用户在不同页面共享数据有四种方式:cookie技术,sendRedirect()转向技术,隐藏表单技术,session技术2.服务器为每一个请求的浏览器分配一个唯一的Session,因此它会占...
  • lishirong
  • lishirong
  • 2014年12月02日 09:47
  • 1834

韩顺平html5课程分享:6小时编写经典坦克大战!

记起自己去年参加的一次面试,在做过Java多年的面试官面前发挥的并不好,但他一听说我会html5,立马眼睛发亮,不管不顾的想要和我签约。。。所以,现在为工作犯愁的朋友们,学好html5,绝对会为你找到...
  • cdczbk
  • cdczbk
  • 2014年06月30日 15:52
  • 3047
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: 韩顺平oracle视频笔记三
举报原因:
原因补充:

(最多只允许输入30个字)