ORACLE的SQL语句练习

来源:互联网 发布:免费人才测评软件 编辑:程序博客网 时间:2024/05/29 09:37
 

 --1、选择部门30中的雇员

  select * from emp where deptno=30;

  --2、列出所有办事员的姓名、编号和部门

  select ename,empno,dname from emp e inner join dept d on e.deptno = d.deptno where job=upper('clerk');
   
   /select ename,empno,dname from emp e ,dept d where e.deptno=d.deptno and job=upper('clerk');

  --3、找出佣金高于薪金的雇员

  select * from emp where comm>sal;

  --4、找出佣金高于薪金60%的雇员

  select * from emp where comm>sal*0.6;

  --5、找出部门10中所有经理和部门20中的所有办事员的详细资料

  select * from emp where (deptno=10 and job=upper('manager')) or (deptno=20 and job=upper('clerk'));

  --6、找出部门10中所有经理、部门20中所有办事员,既不是经理又不是办事员但其薪金>=2000的所有雇员的详细资料

  select * from emp where (deptno=10 and job=upper('manager')) or (deptno=20 and job=upper('clerk')) or (job<>upper     ('manager') and job<>upper('clerk') and sal>=2000);

  --7、找出收取佣金的雇员的不同工作

  select distinct job from emp where comm>0;

  --8、找出不收取佣金或收取的佣金低于100的雇员

  select * from emp where nvl(comm,0)<100;

  --9、找出各月最后一天受雇的所有雇员

  select * from emp where hiredate= last_day(hiredate);

  --10、找出早于25年之前受雇的雇员

  select * from emp where months_between(sysdate,hiredate)/12>25;

  --11、显示只有首字母大写的所有雇员的姓名

  select ename from emp where ename=initcap(ename);

  --12、显示正好为6个字符的雇员姓名

  select ename from emp where length(ename)=6;

  --13、显示不带有'R'的雇员姓名

  select ename from emp where ename not like '%R%';

  /select ename from emp where instr(ename,'R')=0;

  --14、显示所有雇员的姓名的前三个字符

  select substr(ename,1,3) from emp;

  --15、显示所有雇员的姓名,用a替换所有'A'

  select replace(ename,'A','a') from emp;

  --16、显示所有雇员的姓名以及满10年服务年限的日期

  select ename,add_months(hiredate,12*10) 服务年限的日期 from emp;

  --17、显示雇员的详细资料,按姓名排序

  select * from emp order by ename;

  --18、显示雇员姓名,根据其服务年限,将最老的雇员排在最前面

  select ename from emp order by hiredate;

  --19、显示所有雇员的姓名、工作和薪金,按工作的降序顺序排序,而工作相同时按薪金升序

  select ename,job,sal from emp order by job desc ,sal asc;

  --20、显示所有雇员的姓名和加入公司的年份和月份,按雇员受雇日所在月排序,将最早年份的项目排在最前面

  select ename,to_char(hiredate,'yyyy'),to_char(hiredate,'mm') from emp order by hiredate asc;

  --21、显示在一个月为30天的情况下所有雇员的日薪金

  select ename,sal/30 from emp;

  --22、找出在(任何年份的)2月受聘的所有雇员

  select * from emp where to_char(hiredate,'mm')='02';

  --23、对于每个雇员,显示其加入公司的天数

  select ename,sysdate-hiredate from emp;

  --24、显示姓名字段的任何位置,包含 "A" 的所有雇员的姓名

  select ename from emp where ename like '%A%';

  /select ename from emp where instr(ename,'A',1)>0;

  --25、以年、月和日显示所有雇员的服务年限

  select months_between(sysdate,hiredate)/12 as 年, months_between(sysdate,hiredate) as 月, sysdate-hiredate as 日 from emp;

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 北京退休人员医保卡丢了怎么办 普通发票联丢了医保给报销怎么办 手机买好高铁票身份证丢了怎么办 买了高铁票身份证丢了怎么办 小米手机手电简打开不亮了怎么办 华为p7手机显示屏不亮了怎么办 红米手机3x屏幕不灵怎么办? 乐视1s手机字库坏了怎么办 三星c7手机左右两按钮不亮怎么办 手机摔了一屏碎了下黑屏了怎么办 三星手机摔了一下黑屏了怎么办 行驶证一年扣分超过50分怎么办 朋友去广西传销现在骗我怎么办 行驶证忘带交警查住了怎么办 行驶证正本丢了副本在怎么办 在杭州驾照12分扣完了怎么办 驾照审验期过了40天了怎么办 自己的车借给别人撞死了人怎么办 无证驾驶报别人驾驶证被扣车怎么办 交了强制险但驾驶证过期了怎么办 考驾照科目一身份证掉了怎么办 驾照科目二考试身份证丢了怎么办 身份证遗失又要参加考试怎么办啊 驾驶本到期换本有扣分怎么办 b2驾驶证六年到期有扣分怎么办 驾考有效期是几年过期了怎么办? 驾考要过期了科四补考没过怎么办 驾驶证过期了可副业丢了怎么办 外地人北京驾驶本到期换本怎么办 报考驾照时电话号码填错了怎么办 报考驾照时电话填错了怎么办 邢台开三轮车驾证扣12分怎么办 新c1驾照扣满6分怎么办 b2驾照酒驾降级后再次酒驾怎么办 我b2驾照扣了9分怎么办 开别人的车出了事故怎么办 骑摩托车行驶证年检过期了怎么办 在两个城市车船税交重复了怎么办 车子被撞对方全责不赔钱怎么办 驾驶证暂扣期间该审证了怎么办 号码预约被不小心取消了怎么办