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) ...
随机推荐
- RPI学习--wiringpi_API
reference: https://projects.drogon.net/raspberry-pi/wiringpi/functions/ Functions (API) Some of the ...
- 我认为测试应该掌握的SQL语句
最近在学习Oracle,对测试人员而言必须掌握两种语言:第一种是DML,数据操纵语言 (Data Manipulation Language) 是SQL语言中,负责对数据库对象运行数据访问工作的指令集 ...
- Tab的键的妙用
vs2013输入“(”的时候自动加入了“)”,开始的时候感觉相当不方便,要按“End”才能继续输入“:”,后来发现按“Tab"也会自动跳出括号,于是满心喜欢.
- poj1837 dp
//Accepted 2176 KB 47 ms //杠杆平横的条件:sum(c[i]*sum(g[j]))=0 // 所有的hook到原点的距离乘它上面挂着的物体的重量和的和为0 //对于一个hoo ...
- 虚拟机安装Linux系统图文教程
虚拟机安装Linux系统图文教程 | 浏览:523 | 更新:2014-09-16 15:31 1 2 3 4 5 6 7 分步阅读 Linux系统的安装 工具/原料 VMware 9.0 虚拟机 L ...
- SVG 2D入门6 - 坐标与变换
坐标系统 SVG存在两套坐标系统:视窗坐标系与用户坐标系.默认情况下,用户坐标系与视窗坐标系的点是一一对应的,都为原点在视窗的左上角,x轴水平向右,y轴竖直向下:如下图所示: SVG的视窗位置一般是由 ...
- 2016-1-6第一个完整APP 私人通讯录的实现 3:添加联系人
一:创建模型对象:contact用于存放数据,也便于读取加载 #import <Foundation/Foundation.h> @interface contact : NSObject ...
- powerdesigner的学习
1 powerdesigner的层次 使用过eclipse作为java开发的都知道,workspace是顶级目录,一次只能打开一个,project是项目,位于workspace中,一个workspa ...
- 【LeetCode OJ】Best Time to Buy and Sell Stock
Problem Link: http://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock/ We solve this problem ...
- AmazeUI常用组件
按钮样式 <span class="am-badge">1</span> #正方形 <span class="am-badge am-ba ...