Oracle简单查询实例
--查询不重复的职位
select distinct job from emp;
--查询年薪,起别名,别名不要用单引号括起来
select sal*12 as nianxin from emp sal;
--以这样的形式显示具体数据:雇员编号是:姓名是:工资为:职位是:!
select '雇员编号是:'||empno,'姓名是:'||ename,'工资是:'||sal,'职位是:'||job||'!' from emp;
--查询不是职位不是“CLERK”的员工信息(至少用2种方式查询)
select * from emp where job != 'CLERK';
select * from emp where job not like '%CLERK%';
--查询下员工姓名中有O和T的
select * from emp where ename like '%O%' and ename like '%T%';
--将员工工资按照由高到低的顺序排列
select sal from emp order by sal desc;
--查询显示工资大于各个部门工资的平均值的员工的年龄
select empno,a.deptno,a.sal,b.deptno,b.gsal,round((sysdate - hiredate) / 365, 0) --年龄
from emp a,(select deptno,round(avg(sal),0)as gsal from emp group by deptno) b --基表和视图表
where a.deptno=b.deptno --主键连接基表和视图
and a.sal>b.gsal; --工资大于各部门平均工资
--查询各个部门工资范围,按照1000~2000,2000~3000.。。。这样的格式显示人数
--------------------------没看懂意思
--要求查询出工资比SMITH工资要高的全部雇员信息
select * from emp where sal>(select sal from emp where ename='SMITH');
--要求查询出高于公司平均工资的全部雇员信息
select * from emp where sal>(select avg(sal) from emp);
--查询出每个部门的编号、名称、位置、部门人数、平均工资
select deptno,avg(sal) from emp group by deptno;
--统计各个部门的人数*/
select deptno,count (*) from emp group by deptno;
select * from emp;
--1 选择部门30中的所有员工。
select ename from emp where deptno = '';
--2 列出所有办事员(CLERK)的姓名,雇员编号和部门编号。
select ename,empno,deptno from emp where job='CLERK';
--3 找出奖金高于薪金的员工。
select ename from emp where comm>sal;
--4 找出奖金高于薪金60%的员工。
select ename from emp where comm>(sal*0.6);
--5 找出部门10中所有经理(MANAGER)
select * from emp where deptno = '' and job = 'MANAGER';
--6 找出部门10中所有经理(MANAGER),以及所有部门中即不是经理又不是办事员但薪金大于或等于2000的所有员工的详细资料。
select * from emp where (deptno=10 and job = 'MANAGER') or (job not in('MANAGE','CLERK') and sal>=2000)
select * from emp;
--7 找出有奖金的员工的不同工作。
select distinct job from emp where comm>0;
--8 找出没有奖金或奖金低于100的员工。
select * from emp where (comm<100 or comm is not null);
--9 找出每个月倒数第3天受雇的所有员工。
select * from emp where hiredate=(last_day(hiredate)-2);
--10 找出早于30年前受雇的员工。
select * from emp where add_months(sysdate,-30*12)>=hiredate; --add_months(xxxx,+or-) 当前时间+或者减月份
--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,3) from emp;
--15 显示所有员工的姓名,用'L'代替所有'A'
select replace (ename,'L','A') from emp;
--16 显示满30年服务年限的员工的姓名和受雇日期。
select months_between(sysdate,hiredate)/12 from emp;
select ename,hiredate from emp where months_between(sysdate,hiredate)/12 >=30 ;
--17 显示员工的详细资料,按姓名排序。
select * from emp order by ename desc;
--18 显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面。
select ename,hiredate from emp order by hiredate;
--19 显示所有员工的姓名、工作和薪金,按工作的降序排序,若工作相同则按薪金排序。
select ename,job,sal from emp order by job desc,sal ;
--20 显示所有员工的姓名、加入公司的年份和月份,按受雇日期所在月排序,若月份相同则将最早年份的员工排在最前面。
select ename,to_char(hiredate,'yyyy')年份,to_char(hiredate,'mm') 月份 from emp order by 月份,年份;--------------------------------
--21 显示在一个月为30天的情况所有员工的日薪金,忽略余数。
select trunc(sal/30) from emp;
--22 找出在(任何年份的)2月受聘的所有员工。
select * from emp where to_char(hiredate,'mm')=2;
--23 对于每个员工,显示其加入公司的天数。
select ename,sysdate-hiredate from emp;
--24 显示姓名字段的任何位置包含'A'的所有员工的姓名。
select ename from emp where ename like '%A%';
Oracle简单查询实例的更多相关文章
- oracle分组查询实例ORA-00979和ORA-00937错误分析
select J.ZWJGH,J.CZZXBH,J.JZZT,J.CWNY,J.JZPZH sum(J.FSE)<!-- 聚合函数字段没在分组条件中--> from JZPZXX J &l ...
- oracle简单查询单词
单词 释义 select 查询 from 从... where 条件查询 as 别名 not 取反 and 和 or 或者 between...and... 范围取值,包含边界 like 模糊查询 e ...
- 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二)(代码篇)
这篇是上一篇的延续: 用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 源代码在github上可以下载,地址:https://github.com/guoxia ...
- Oracle单表的简单查询
Oracle单表的简单查询 查看表结构 desc emp; 查询所有列 Select * from emp; 查找所以部门编号(查指定的列) select deptnofrom emp; 查找编号不同 ...
- Oracle多表的简单查询
Oracle多表的简单查询 .多表查询 多表查询是指基于两个和两个以上的表或是视图的查询. 问题:显示雇员名,雇员工资及所在部门的名字[笛卡尔集]? select t.ename,t.sal,t1.d ...
- Oracle笔记(1) 简单查询、限定查询、数据的排序
Oracle笔记(四) 简单查询.限定查询.数据的排序 一.简单查询 SQL(Structured Query Language) 结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及 ...
- oracle高级查询(实例基于scott用户四张表)
oracle高级查询(实例基于scott用户四张表) 分组查询 多表查询 子查询 综合实例 ====================================================== ...
- 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(三)(错误整理篇)
使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二) 以上两篇已经把流 ...
- 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一)
梳理下使用spring+springMVC+mybatis 整合后的一个简单实例:输入用户的 ID,之后显示用户的信息(此次由于篇幅问题,会分几次进行说明,此次是工程的创建,逆向生成文件以及这个简单查 ...
随机推荐
- I/O多路复用、协程、线程、进程
select注册fd,阻塞,当有fd状态改变时返回,确认对应的fd,做下一步处理.简单来说就是先注册,注册完后休眠并设置一个定时器醒来查看,有事件就通知来取,进行后续动作,没事件就继续睡,再设闹钟.用 ...
- LAB6 SOAP
有web服务的,需要Deploy一下才能跑 通过ls看所有文件的所在地,cd进入对应文件夹,才可以编译 javac 编译,Java是执行 URL必须是WSDL文件点进去里面的:http://local ...
- hibernate的理解
emm~这里就是记录一下,hibernate的save,如果存在id,就可以直接save,就会覆盖原有的,如果不存在id就会在数据库创建一条新的记录 package edu.zut.cs.zutnlp ...
- Android 8.0+ 更新安装apk失败的问题
最近做项目发现Android 8.0+ 更新安装apk时 出现安装失败的情况 总结原因是 缺少安装的权限 Android 8.0 (Android O)为了针对一些流氓软件引导用户安装其他无关应用. ...
- 通过decorators = [,] 的形式给类中的所有方法添加装饰器
给类添加装饰器有多种方法: 1.可以在类中的某个方法上边直接@添加,这个粒度细.无需详细介绍 2.也可以在类中通过 decorators=[, ]的形式添加,这样的话,类中的所有方法都会被一次性加上装 ...
- mysql关闭groupby模式
Mysql5.7 出现 SELECT list is not in GROUP BY clause and contains nonaggregated column ‘sss.month_id’ w ...
- 手工脱壳之AsPack压缩脱壳-随机基址
一.工具及壳介绍二.脱壳1.ESP定律脱壳2.单步跟踪脱壳3.基址重定位的修复 一.工具及壳介绍 使用工具:Ollydbg.PEID.ImportREC.LoadPE.010 Editor 查看待脱壳 ...
- python+selenium,打开浏览器时报selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH
有一年多没写web自动化了,今天搭建环境的时候报了一个常见错误,但是处理过程有点闹心,报错就是常见的找不到驱动<selenium.common.exceptions.WebDriverExcep ...
- “无法将“Enable-Migrations”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。”的一种解决方式
通过以下几个步骤解决: 1.install-package entityFramework: 2.更新 nuget: 3.更新 visual studio: 我是通过第三个步骤解决的.
- HTTP知识点【总结篇】
1.什么是HTTP协议? 客户端和服务器之间数据传输的格式规范.全拼:HyperText Transfer Protocol:超文本传输协议. 2.http协议是无状态协议?怎么解决无状态协议? 无状 ...