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 讨论成员:邵家文.李新.朱浩龙.陈俊金 今天工作:测试了数据的传输,总共用了三个方案,其中两个失败了,一个成功了. 开发感悟:今天吃完饭就赶着发博客了,最近有几个朋友令我特别的烦,翻脸 ...