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. 移动设备和SharePoint 2013 - 第4部分:定位

    博客地址:http://blog.csdn.net/foxdave 原文地址 在该系列文章中,作者展示了SharePoint 2013最显著的新功能概观--对移动设备的支持. 该系列文章: 移动设备和 ...

  2. Oracle 12c与GoldenGate 12c的一些问答

    1. 如何知道一个12c DB是否为容器数据库?(1) container DBSQL> select cdb from v$database;CDB---YES (2) non contain ...

  3. C++使用POST方法向网页提交数据-----C++发送HTTP数据获取Google天气预报

    例1:C++使用POST方法向网页提交数据    转自:http://www.it165.net/pro/html/201208/3534.html 在C++中可以使用POST方法向网页中提交数据,这 ...

  4. 45个非常有用的oracle语句(摘自尚学堂)

    日期/时间 相关查询 获取当前月份的第一天 运行这个命令能快速返回当前月份的第一天.你可以用任何的日期值替换 “SYSDATE”来指定查询的日期. 1 2 SELECT TRUNC (SYSDATE, ...

  5. C# 定义常量 两种实现方法

    在C#中定义常量的方式有两种,一种叫做静态常量(Compile-time constant),另一种叫做动态常量(Runtime constant).前者用“const”来定义,后者用“readonl ...

  6. Cocos2d-x 2.x项目创建

    cocos2d-x下载地址:http://www.cocos2d-x.org/download 2.0之后的创建项目 1. cd cocos2d-x-2.2.1/tools/project-creat ...

  7. HDU4055 - number string(DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4055 思路:dp[i][j]表示处理前i个字符以j结尾可能的序列数. 当a[i]=='I'时,dp[i ...

  8. HttpHandler中无法使用Session(context.Session 为Null)

    一.问题描述: 最近需要做一个对特定请求(.report)进行响应的接口,当然是使用实现IHttpHandler来进行处理,实现IHttpHandler接口就必须要实现它的两个方法,ProcessRe ...

  9. 【题解】【链表】【Leetcode】Linked List Cycle II

    Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Foll ...

  10. 如何在dede栏目设置中添加自定义字段(dede二次开发-纯抄贴)

    如何在dede栏目设置中添加自定义字段 这个说法以前没有见到到,很少有客户会提出这样的二次要求,今天织梦者在网上转了一下看到了这样的一篇文章转过来与大家分享 鉴于这个教程没人发过,网上搜索的人也比较多 ...