首页 尚学堂Oracle课堂笔记

尚学堂Oracle课堂笔记

举报
开通vip

尚学堂Oracle课堂笔记(描述) emp    描述emp这张表 2.desc    dept       部门表 3.desc salgrade      薪水等级 4.select *from table 查找表中的元素 5.dual               是系统中的一张空表 6.select *from dual  7.select sysdate from dual  取出系统时间 8.select ename,sal*12 "annul sal"(含空格的别名) from emp; 查找用户姓名和用户的年薪 9.任何含有空...

尚学堂Oracle课堂笔记
(描述) emp    描述emp这张 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 2.desc    dept       部门表 3.desc salgrade      薪水等级 4.select *from table 查找表中的元素 5.dual               是系统中的一张空表 6.select *from dual  7.select sysdate from dual  取出系统时间 8.select ename,sal*12 "annul sal"(含空格的别名) from emp; 查找用户姓名和用户的年薪 9.任何含有空值的数学表达式的值都是空值 select ename,sal*12+comm from emp; 10.select ename||sal from emp 其中的||相当于将sal全部转化为字符串   字符串连接符 11.表示字符串的 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 select ename ||'ajjf' from emp; 12.如果其中有一个单引号就用2个单引号来代替他  注意不是一个双引号,是两个单引号 select ename||'sakj' 'lds'from emp; 13.select distinct deptno from emp     (去除部门字段中重复的部分,关键字distinct) 14.select distinct deptno,job from emp;(去除这2个字段中重复的组合)    去掉重复的组合 15.select *from dept where deptno=10;     取出条件(取出部门编号为10的记录) 16.select * from emp where ename='CLIRK'; 取出部门中姓名为clirk的记录(注意取出过程中ename用单引号隔开) 17.select ename,sal from emp where sal>1500; 取出部门中薪水大于1500的人的姓名 18.select ename,sal,deptno from emp where deptno<> 10 取出部门中的部门号不等于10的 19.select ename,sal,deptno from emp where ename>'CBA' 取出部门中员工名字大于CBA的员工(实际比较的是ACIIS码) 20.select ename,sal from emp where sal between 800 and 1500 select ename,sal from emp where sal>=800 and sal<=1500;   (取出800和1500之间的数) 21.select ename,sal,comm from emp where comm is null (选出其中的空值)  注意不是 =null select enmae,sal,comm from emp where comm is not null(选出其中的非空值) 22.select ename,sal,comm from emp where sal in (800,1500,2000);取出emp在这3者之中的相关值 select ename,sal,comm from emp where ename in('simth'); 23.select ename,sal,hiredate from emp where hiredata>'3-04月-81';选出符合条件的日期,根据日期类型判断格式 24.select ename,sal,from emp where sal>1000 or deptno=10;       找出工资薪水大于1000或者部门号等于10的员工,或者 25.select ename,sal from emp where sal not in(500,1000);        查找薪水不在500到1000的员工姓名和月薪 26.select ename,sal from emp where ename like'%ALL%'; select ename,sal from emp where ename like '_%A%';         查找姓名中含有ALL的客户信息,一个横线代表一个通配符,见正则表达式 27.select ename,sal from emp where ename like '_%$%%' escape '$';  自己指定转义字符 select ename,sal from emp where ename like '_%\%%';             查找中间含有%相匹配的客户信息,运用转义字符 28.select * from dept order by deptno                            对表中元素按部门号排序 select *from dept order by deptno desc                        默认为升序,可以用desc按降序 29.select ename,sal from emp where sal <>1000 order by sal desc   按照查询条件来查询,并排序(asc升序排列) 30.select ename,sal*12 from emp where ename not like '_%A%' and sal>800 order by sal desc  31.select lower(ename) from emp 将ename都转化为小写    lower是函数能将字母转化为小写 32.select ename from emp where lower(ename) like '_%a%';  找出ename 中所有的含有a的字符,upper 33.select substr(ename,2,3) from emp            从第2个字符开始截取3个字符 34.select chr(65) from dual;          将65转化为字符 35.select ascii('A') from dual         将字符串转化为ascII 36.select round(23.565)from dual     四舍五入 36.selectround(23,4565,2)from dual  四舍五入到第二位 37.select to_char(sal,'$99,999.9999') from emp  把数字或者日期按指定格式输出 select to_char(sal,'L99,999,9999') form emp  L代表本地字符 38.select hiredate from emp select to_char(hiredate,'YYYY-MM-DD HH:MI:SS) from emp;          时间格式的显示 select to_char(sysdate,'YYYY-MM-DD HH:MI:ss) from dual;          十二小时制显示系统时间 select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS) from dual         二四小时制显示系统时间 39.select ename,hiredate from emp where hiredate >to_date('2005-2-3 12:32:23','YYYY-MM-DD HH:MI:SS'); 40 select sal from emp where sal>to_number('$1,250.00','$9,999.99'); 取出比它大的一切字符串(把特定格式的数字转化成字符) 41 select ename,sal+nvl(comm,0) from emp;    若comm值为空,则用0来替换。单行函数(以一条记录为条件)一条对一条 42.select Max(sal) from emp;   //最大值!! select Min(sal) from emp;    //最小值!! select avg(sal) from emp;   //平均!! select sum(sal) from emp;   //求和!! select count(*) from emp;                          查看表中一共有多少条记录!!! select count(*) from emp where deptno=10;          查找部门10一共有多少人; select count(depno) from emp;      // depno不为空的条数,注意与count(*)的区别 select count(distinct depno) from emp;   //去掉重复 43.select avg(sal),deptno from emp group by deptno;   按部门号进行分组 select deptno,job,max(sal) from emp group by job,deptno; 按工作和部门号进行分组; 44.select ename from emp where sal=(select max(sal) from emp);  子查询,查找部门中薪水最高的员工姓名 45.group by注意:出现在select列表中的字段,如果没有出现在组函数中必须出现在group by子句中!!因为1对多不匹配 46.select avg(sal),deptno from emp group by deptno havingavg(sal)>2000;    选出部门中平均薪水大于2000的部门,having对分组进行限制 47.select * from emp where sal>100 group by deptno having ..........order by........ 先取数据--过滤数据------分组----对分组限制-------排序       该语句执行不了,!!!!!记住顺序。 学习中要注意数据1对1匹配的思想。子查询的核心:把子查询的结果当成一张表 48.select avg(sal) from emp where sal>2000 group by deptno having avg(sal)>1500 order by avg(sal) desc; 查找部门中平均薪水大于2000的员工并按部门号进行排序,查询分组后的平均薪水必须大于1500,查询结果按平均薪水从低到高排列 49.select ename from emp where sal>(select avg(sal) from emp); 查找出员工中薪水位于部门平均薪水之上的所有员工 50.select ename,sal from emp join(select max(sal) max_sal from emp group by deptno) t on(emp.sal=t.max_sal and emp.deptno=t.deptno); 查找每个部门中薪水最高的 本人改进: select ename,sal,t.deptno from emp join(select max(sal) max_sal from emp group by deptno) t on(emp.sal=t.max_sal and emp.deptno=t.deptno); 视频中的一个小作业: 求每个部门的平均薪水等级? 我的实现 马士兵老师的实现 51.select e1.ename,e2.ename from emp e1,emp e2 where e1.mgr=e2.empno; 表的自连接 52.select dname,ename from emp cross join dept         交叉连接,笛卡尔 SQL99中的新语法 53.select ename,dname from emp join dept on(emp.deptno=dept.deptno);  54. 查找emp和dept表中deptno相同的部分。 select ename,dname from emp join dept using(deptno);            55.select ename,dname,grade from emp e join dept d on(e.deptno=d.depno) join salgrade s(e.sal between s.losar and s.hisar)                                       where ename not like '_A%';(三表查找) 56.select e1.ename,e2.ename from emp e1 join emp e2 on(e1.mgr=e2.empno); 表的自连接 57.select e1.ename,e2.ename from emp e1  left join emp e2 on(e1.mgr=e2.empno) 左外表连接 select ename,dname from emp e right join dept d on(e.deptno=d.deptno)右外连接 select ename,dname from emp e full join dept d on(e.deptno=d.deptno)全连接 58.求部门中薪水最高的 select ename,sal from emp join (select max(sal) max_sal, deptno from emp group by deptno) t on (emp.sal=t.max_sal and emp.deptno=t.deptno); 59.求部门中薪水等级的平均值 select deptno,avg(grade) from(select deptno,ename,grade,from emp join salgrade s on(emp.sal between s.losal and s.hisal))t group by deptno; 60.查找雇员中哪些是经理人 select ename from emp where empno in(select mgr from emp); 61.自连接(不用组函数求出最高薪水) select distinct sal from emp where not in (select ename from e1.sal from emp e1 join emp e2 on(e1.sal
本文档为【尚学堂Oracle课堂笔记】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_882336
暂无简介~
格式:doc
大小:31KB
软件:Word
页数:0
分类:互联网
上传时间:2019-05-14
浏览量:2