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 ;
Oracle学习系列2的更多相关文章
- Oracle学习系列1-7
		
Oracle学习系列1 两个服务必须启动: OracleOraDb10g*TNListener 和 OracleService*** 使用sqlplusw先进行环境的设置 set linesize 3 ...
 - Oracle学习系列7
		
Oracle学习系列7 ************************************************************************************ 关联表 ...
 - Oracle学习系列6
		
Oracle学习系列6 ************************************************************************************ 删除约 ...
 - Oracle学习系列5
		
Oracle学习系列5 ************************************************************************************ ,掌握 ...
 - Oracle学习系列4
		
Oracle学习系列4 ************************************************************************************ 数据库 ...
 - Oracle学习系列3
		
Oracle学习系列3 ************************************************************************************ 多表查 ...
 - Oracle学习系列1
		
两个服务必须启动: OracleOraDb10g*TNListener 和 OracleService*** 使用sqlplusw先进行环境的设置 set linesize 300 ; set pag ...
 - oracle学习系列之四 (视图)
		
视图视图是数据库中特有的对象.视图用于存储查询,但不会存储数据(物化视图除外).这是视图和数据表的重要区别.可以利用视图进行查询,插入,更新和删除数据.Oracle有如下四种视图(关系视图,内嵌视图, ...
 - oracle学习系列之三 (约束)
		
主键约束:外键约束:唯一性约束:检查约束:默认值约束 -——————五大约束 一. 主键约束: --创建表的主键约束 create table student (student_id number ...
 - Oracle 学习系列之二(会话与事务级临时表和dual表 )
		
一. 会话临时表 --创建会话临时表create global temporary table tmp_user_session(user_id int, user_name varchar2(20) ...
 
随机推荐
- C/C++类型转换总结
			
---恢复内容开始--- 最近做笔试题经常会碰到有关类型转换的题型,所以结合例子做下总结,也是希望自己能更时刻的理解类型转换. C++的类型转换包括内置类型和类类型对象的转换. (1) 1.1隐式类型 ...
 - initWithFrame 和 initWithCoder
			
当我们所写的程序里没用用Nib文件(XIB)时,用代码控制视图内容,需要调用initWithFrame去初始化 - (id)initWithFrame:(CGRect)frame { if (self ...
 - hdu4283 区间dp
			
//Accepted 300 KB 0 ms //区间dp //dp[i][j] 表示i到j第一个出场的最小diaosizhi //对于i到j考虑元素i //(1)i第一个出场,diaosizhi为 ...
 - Linux/Unix 桌面趣事:文字模式下的 ASCII 艺术与注释绘画
			
boxes 命令不仅是一个文本过滤器,同时是一个很少人知道的有趣工具,它可以在输入的文本或者代码周围框上各种ASCII 艺术画.你可以用它快速创建邮件签名,或者在各种编程语言中留下评论块.这个命令可以 ...
 - HTTP协议详解(经典)
			
转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的 ...
 - Linux在IA-32体系结构下的地址映射
			
1.概览 2.逻辑地址到线性地址 逻辑地址到线性地址的映射在IA-32体系结构中又被称为段式映射.如上图所示,段式映射我们首先需要获取逻辑地址和段选择符,段选择符用于获取GDT中段的基地址,将逻辑地址 ...
 - PHP 上传图片和安全处理
			
上传图片 public function images() { $data = $_FILES['file']; switch($data['type']) { case 'image/jpeg': ...
 - HDU 5045
			
http://acm.hdu.edu.cn/showproblem.php?pid=5045 题意:n个学生m道题,一个n*m的矩阵代表第n个学生解第m题AC的概率,任意两学生做题数差距不能大于1,问 ...
 - 【转】C 宏
			
http://www.cs.yale.edu/homes/aspnes/pinewiki/C%282f%29Macros.html See KernighanRitchie Appendix A12. ...
 - 第二个Sprint冲刺第五天
			
讨论地点:qq 讨论成员:邵家文.李新.朱浩龙.陈俊金 今天工作:测试了数据的传输,总共用了三个方案,其中两个失败了,一个成功了. 开发感悟:今天吃完饭就赶着发博客了,最近有几个朋友令我特别的烦,翻脸 ...