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的更多相关文章

  1. Oracle学习系列1-7

    Oracle学习系列1 两个服务必须启动: OracleOraDb10g*TNListener 和 OracleService*** 使用sqlplusw先进行环境的设置 set linesize 3 ...

  2. Oracle学习系列7

    Oracle学习系列7 ************************************************************************************ 关联表 ...

  3. Oracle学习系列6

    Oracle学习系列6 ************************************************************************************ 删除约 ...

  4. Oracle学习系列5

    Oracle学习系列5 ************************************************************************************ ,掌握 ...

  5. Oracle学习系列4

    Oracle学习系列4 ************************************************************************************ 数据库 ...

  6. Oracle学习系列3

    Oracle学习系列3 ************************************************************************************ 多表查 ...

  7. Oracle学习系列1

    两个服务必须启动: OracleOraDb10g*TNListener 和 OracleService*** 使用sqlplusw先进行环境的设置 set linesize 300 ; set pag ...

  8. oracle学习系列之四 (视图)

    视图视图是数据库中特有的对象.视图用于存储查询,但不会存储数据(物化视图除外).这是视图和数据表的重要区别.可以利用视图进行查询,插入,更新和删除数据.Oracle有如下四种视图(关系视图,内嵌视图, ...

  9. oracle学习系列之三 (约束)

    主键约束:外键约束:唯一性约束:检查约束:默认值约束 -——————五大约束 一. 主键约束: --创建表的主键约束  create table student (student_id number ...

  10. Oracle 学习系列之二(会话与事务级临时表和dual表 )

    一. 会话临时表 --创建会话临时表create global temporary table tmp_user_session(user_id int, user_name varchar2(20) ...

随机推荐

  1. 踏着前人的脚印学Hadoop——RPC源码

    A simple RPC mechanism.A protocol  is a Java interface.  All parameters and return types must be one ...

  2. self.view 的不当操作造成死循环

    如题,在创建ContentView的时候,例子如下 NSString *viewClassName = NSStringFromClass([self class]); viewClassName = ...

  3. 《java中局部变量和成员变量的区别》

    class Car { String color; int number; void run() { System.out.println(color+"::"+number); ...

  4. js库之art.dialog

    自适应内容 artDialog的特殊UI框架能够适应内容变化,甚至连外部程序动态插入的内容它仍然能自适应,因此你不必去考虑消息内容尺寸使用它.它的消息容器甚至能够根据宽度让文本居中或居左对齐——这一切 ...

  5. ISO c++11 does not allow conversion from string literal to 'char*'

    http://stackoverflow.com/questions/9650058/deprecated-conversion-from-string-literal-to-char

  6. Java Inner class && nested class

    Java中,Inner Class(不被 static修饰)可以访问outer class 的所有成员(包括私有成员),同时,内部类 的创建必须经由外部类的实例! nested class 有stat ...

  7. hadoop常见错误集锦

    1  Hadoop namenode -format后Incompatible namespaceIDS 错误解决办法 重新格式话namenode后,会重新分配一个namespaceId, 这个nam ...

  8. Git ~ 大杀器之一 远程仓库 ~ Git

    一般情况ixashi找一台电脑作为服务器的角色 , 每天24小时开机 , 其他扥每个人都从这个 “服务器” 仓库里面克隆一份到自己的电脑上面 并且将各自的提交推送到服务器仓库中 , 也可以从服务器仓库 ...

  9. iOS开发:集成支付宝(遇见的坑和便捷撸代码)

    开发iOS最重要的就是支付了,天朝之内最常用的就是支付宝了,下面就以自己的经历说明如何集成支付宝+遇见的坑. 首先,集成支付宝最好别使用Cocoapods,很多人都说使用起来很方便,可是我每次只要使用 ...

  10. Investment_完全背包

    Description John never knew he had a grand-uncle, until he received the notary's letter. He learned ...