zoukankan      html  css  js  c++  java
  • Oracle学习系列2

    SQL语法练习:
    	1,选择部门30中的所有员工
    		select * from emp 
    			where deptno=30;
    			
    	2,列出办事员的姓名,编号和部门编号
    		select ename, empno, deptno 
    			from emp
    				where 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='manager') or ( deptno=20 and job='clerk' );
    	
    	6,找出部门10中所有经理,部门20中所有办事员,既不是经理也不是办事员但其薪金大于或等于2000的所有员工 的详细资料
    			select * 
    				from emp 
    					where (deptno=20 and job='manager')or(deptno=20 and job='clerk') 
    							or (job NOT IN('manager', 'clerk') and sal >=2000) ;
    	
    	7,找出收取佣金的员工的不同工作
    		select distinct job 
    			from emp
    				where comm IS NOT NULL;
    		
    	8,找出不收取佣金或者收取的佣金低于100的员工
    		select * 
    			from emp
    				where (comm is null ) or (comm<100);
    	
    	9,找出各月倒数第三天受雇的所有员工
    		select * 
    			from emp
    				where last_day(hiredate)-2 =hiredate ;
    	
    	10,找出早于12年前受雇的员工
    		select * 
    			from emp
    				where (months_between(sysdate, hiredate) /12 ) > 12 ;
    	
    	11,以首字母大学的方式显示所有员工的姓名
    		select initcap(ename)
    			from emp;
    	
    	12,显示正好为5个字符的员工的姓名
    		select ename 
    			from emp
    				where length(ename)=5 ;
    	
    	13,显示不带’R‘的员工的姓名
    		select ename
    			from emp
    				where ename not like '%R%' ;
    	
    	14,显示所有员工姓名的前三个字符
    		select substr(ename,0,3)
    			from emp ;
    	
    	15,显示所有员工姓名,用’a‘替换所有的’A‘
    		select replace(ename, 'A','a')
    			from emp ;
    	
    	16,显示满10年服务年限的员工的姓名和受雇日期
    		select ename ,hiredate
    			from emp
    				where (months_between(sysdate, hiredate) /12 ) > 10 ;
    	
    	17,显示员工的详细信息,按姓名排序
    	select * 	
    		from emp
    			order by ename;
    			
    	18,显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面
    		select ename, hiredate
    			from emp
    				order by hiredate;
    	
    	19,显示所有员工的姓名,工作和薪金,按工作的降序排序,若工作相同则按薪金排序
    		select ename , job, sal 
    			from emp
    				where job desc, sal ;
    	
    	20,显示所有员工的姓名,加入公司的年份和月份,按受雇日期所在月排序,若月份相同则将最早年份的员工排在最前面
    		select ename,to_char(hiredate,'yyyy') year, to_char(hiredate,'yy') months
    			from emp
    				order by months ,year ;
    	
    	21,显示在一个月为30天的情况的所有员工的日薪金,忽略余数
    		select ename ,round(sal/30)
    			from emp
    			
    	
    	22,找出在任何年份的2月受聘的所有员工
    		select * 
    			from emp
    				where  to_char(hiredate,'mm') = 2 ;
    	
    	23,对于每个员工,显示其加入公司的天数
    		select ename, round(sysdate-hiredate) days
    			from emp ;
    	
    	24,显示姓名字段的任何位置包含’A‘的所有员工的姓名
    		select * 
    			from emp
    				where ename like '%A%' ;
    	
    	25,以年月日的方式显示所有员工的服务年限。
    		select ename ,trunc( months_between( sysdate , hiredate )/12 ) years,
    					  trunc( mod( months_between( sysdate,hiredate ),12 ) ) months,
    					  trunc( mod( (sysdate-hiredate),30 ) )days
    			from emp ;
    

     

  • 相关阅读:
    给router-link 标签添加事件@click 、@mouseover等无效
    elementUI的导航栏在刷新页面的时候选中状态消失的解决
    查看mysql数据库中的所有用户
    已经安装了客户端,但是cmd输入sqlcmd报错:Sqlcmd:Error:Connection failure.SQL Native Client is not installed correctly
    在运行bat文件时,报错发生系统错误123,文件名,目录名或卷标语法不正确
    数据库表空间文件被删除后,再删除表空间时报错
    oracle在exp导出时报错PLS-00201: identifier 'EXFSYS.DBMS_EXPFIL_DEPASEXP' must be declared
    oracle compile 编译无效对象
    Oracle 导出错误 EXP-00000~EXP-00107
    修改oralce数据库用户名和密码
  • 原文地址:https://www.cnblogs.com/askDing/p/5463329.html
Copyright © 2011-2022 走看看