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) ...
随机推荐
- [转]Putty中文乱码解决方法
from: http://www.putty.ws/putty-luanma putty使用的过程中,你是否遇到过putty出现中文乱码的情况呢?putty终端出现乱码,是情况,多数是由于系统或软件缺 ...
- 【PyQt5】学习笔记(1)
# -*- coding: utf-8 -*- from PyQt5 import QtWidgets,QtCore #从pyqt库导入QtWindget通用窗口类 from formnew impo ...
- exec方法
如果 exec 方法没有找到匹配,将返回 null.如果找到匹配项,则 exec 方法返回一个数组,并将更新全局 RegExp 对象的属性以反映匹配结果.数组元素 0 包含了完整的匹配项,而元素 1 ...
- 《使用this作为返回值的相关问题》
//使用this作为返回值的相关问题: /* 如果在某个方法中把this作为返回值,则可以多次连续的调用同一个方法,从而使得代码 更加简洁,但是,这种把this作为返回值的方法可能造成实际意义的模糊, ...
- lightoj1080 线段树
//Accepted 6628 KB 520 ms //I a b 把a到b区间的二进制位去反,转化成a到b区间的数全部加1 //Q a 判断第a位的奇偶 #include <cstdio> ...
- RAID-4与模2和
在网络传输和磁盘数据管理中经常涉及到的所谓奇偶校验:每N个bit之后加上一个bit保证这N + 1bit的模2和为0(也叫异或,一个意思) 而如果这其中出现了单bit错, 直接导致校验出差,出现偶数b ...
- C# 调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配
在dllimport中加入CallingConvention参数就行了,[DllImport(PCAP_DLL, CharSet = CharSet.Auto, CallingConvention = ...
- Eclipse卡死问题解决办法
偶尔浏览到几个eclipse卡死的文章,收集一下. 1. eclipse 3.6卡死 eclipse自动提示反应慢,或者卡死, 有人说这是eclipse 3.6的版本bug, 但是3.5版本好像也有 ...
- yii2 生成PDF格式的文件
1 .先把mpdf-development.zip解压的类文件夹放到vendor目录里面,重命名为mpdf 2 .在vendor/composer/autoload_namespaces.php里面添 ...
- Mac快捷键 Xcode快捷键
Mac OSX 快捷键&命令行 一.Mac OSX 快捷键 ctrl+shift 快速放大dock的图标会暂时放大,而 ...