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. ssh原理

     客户端向服务器端发出连接请求 服务器端向客户端发出自己的公钥 客户端使用服务器端的公钥加密通讯密钥然后发给服务器端 如果通讯过程被截获,由于窃听者即使获知公钥和经过公钥加密的内容,但不拥有私 ...

  2. C# HttpBrowser 跨进程访问,解决内存泄露问题

    #undef DEBUG using Microsoft.Win32; using Newtonsoft.Json; using System; using System.Collections.Ge ...

  3. C语言学习笔记之成员数组和指针

    成员数组和指针是我们c语言中一个非常重要的知识点,记得以前在大学时老师一直要我们做这类的练习了,但是最的还是忘记了,今天来恶补一下.     单看这文章的标题,你可能会觉得好像没什么意思.你先别下这个 ...

  4. jQuery 关于 end() 方法的详细解释

    <ul class="first"> <li class="foo">list item 1</li> <li> ...

  5. 百度云加速时使用Cloudflare的技术

    百度云加速时使用Cloudflare的技术 引用“百度的关于我们”这是在打脸吗?就是把英文翻译过来换个验证码 百度是全球最大的中文搜索引擎.最大的中文网站.2000年1月创立于北京中关村.如今,百度已 ...

  6. 正确的SVN导入代码命令

    sudo svn import -m "" /media/yang/10/ubuntuFiles/svnAbout/mypro/ svn://127.0.0.1/mypro/

  7. 结构体,内存,指针例题.DOC

    2015.1.30 递归函数:1.自身调用自己:2.要有结束条件!typedef 后面加分号:一般后面的重定义名加_,例如:typedef unsigned long int uint_16;结构体成 ...

  8. Redis - 常用命令操作

    常用命令keys:        keys *        查看符合条件的所有key exists:        exists key    查看key是否存在 del:        del k ...

  9. html释疑

    解析<button>和<input type="button"> 的区别(转) 一.定义和用法 <button> 标签定义的是一个按钮. 在 b ...

  10. 配置集成环境xampp-win32-1.7.0-installer.exe

    第一步:准备当然要有xampp-win32-1.7.0-installer.exe这个软件了啊,大家可以去网站上下载这个就不必多说了吧在安装之前一定要将apache,mysql,httpd这一系列进程 ...