select * from emp;

--1.找出部门30的员工
select * from emp where deptno = 30;

--2.列出所有办事员(CLERK)的姓名,变化和部门编号
select * 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中所有的经理(MANAGER)和部门20中所有的办事员(CLERK)的详细资料
select *
from emp
where (deptno = 10 and job = upper('manager'))
or (deptno = 20 and job = upper('clerk'));

--6.找出部门10中所有的经理(MANAGER)和部门20中所有的办事员(CLERK)的详细资料,既不是经理又不是办事员,但薪资大于等于2000的所有员工地详细信息
select *
from emp
where (deptno = 10 and job = upper('manager'))
or (deptno = 20 and job = upper('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.找出各个月倒数第3天受雇的员工
select LAST_DAY(HIREDATE)
from emp
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 * from emp where length(ename) = 5;

--13.显示不带“R”的员工姓名.
select * 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 order by job desc, sal;

--20.显示所有员工的姓名/加入公司的年份和月份,安排受雇日前所作的月排序,若月份相同则将最早年份的员工排在最前面。
select ename, to_char(hiredate, 'yyyy') y, to_char(hiredate, 'mm') m
from emp
order by m, y;

--21.显示在一个月为30天的情况,所有员工日薪资,忽略余数。
select ename, round(sal / 30) from emp;

--22.找出在(任何年份的)2月份受雇的员工。
select * from emp where to_char(hiredate, 'mm') = '02';

--23.对于每个员工显示其加入公司的天数。
select ename, trunc(sysdate - hiredate) from emp;

--24.显示姓名字段的任何位置包含“A”的所有员工地姓名。
select ename from emp where ename like '%A%';

--25.以年月日的方式显示所有员工的服务年限(大概)
select ename,
hiredate,
trunc(months_between(sysdate, hiredate) / 12) y,
trunc(mod(months_between(sysdate, hiredate), 12)) m,
trunc(mod(sysdate - hiredate, 30)) d
from emp;

oracle学习篇三:SQL查询的更多相关文章

  1. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  2. oracle学习 第二章 限制性查询和数据的排序 ——03

    这里.我们接着上一小节2.6留下的问题:假设要查询的字符串中含有"_"或"%".又该如何处理呢? 開始今天的学习. 2.7  怎样使用转义(escape)操作符 ...

  3. oracle学习篇二:常用SQL

    ------------------------1.简单的SQL查询--------------------------select * from emp;select empno,ename,job ...

  4. oracle 学习笔记(三)

    1. SQL(基础查询) 1.1. 基本查询语句 1.1.1. FROM子句 SQL查询语句的语法如下:   SELECT <*, column [alias], -> FROM tabl ...

  5. oracle学习篇九:同义词

    Oracle数据库中提供了同义词管理的功能.Oracle同义词是数据库方案对象的一个别名,经常用于简化对象访问和提高对象访问的安全性. 在Oracle中对用户的管理是使用权限的方式来管理的,也就是说, ...

  6. Oracle学习(六):子查询

    1.知识点:能够对比以下的录屏进行阅读 SQL> --子查询所要解决的问题:问题不能一步求解 SQL> --查询工资比SCOTT高的员工信息 SQL> --(1)使用普通方法 SQL ...

  7. Oracle学习笔记五 SQL命令(三):Group by、排序、连接查询、子查询、分页

    GROUP BY和HAVING子句 GROUP BY子句 用于将信息划分为更小的组每一组行返回针对该组的单个结果 --统计每个部门的人数: Select count(*) from emp group ...

  8. Oracle学习第三篇—多行函数

    0 order by asc/desc 默认升序 order by 列的名字|表达式|别名|序号 把空放在后边:order by desc nulls last 1分组函数--会自动滤空值 count ...

  9. oracle学习篇六:子查询

    -- 1.查询比7654工资要高的员工 select * from emp where sal>(select sal from emp where empno=7654); ---2.查询最低 ...

随机推荐

  1. centos7 docker 安装 mysql5.7.24 导入12G的sql

    先在CentOS7里面安装docker Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker .通过 uname - ...

  2. 老男孩Day15作业:商城列表页面(静态)

    一. 一.作业需求: 1.完成商城列表静态页面的抒写 二.博客地址:https://www.cnblogs.com/catepython/p/9205636.html 三.运行环境 操作系统:Win1 ...

  3. 【python】10分钟教你用Python做个打飞机小游戏超详细教程

    更多精彩尽在微信公众号[程序猿声] 我知道你们一定想先看效果如何 00 目录 整体框架 开始之前-精灵类Sprite 子弹类class Bullet 玩家飞机类class Player 敌机类clas ...

  4. 谈谈你对Java平台理解

    一说起对Java理解很容易就联想到Java的一些特性: 1,面向对象(继承,多态,封装) 2,平台无关性(”一次书写,到处运行“,jvm运行.class文件) 3,语言(泛型,lambda) 4,类库 ...

  5. Qt 学习之路 2(63):使用 QJson 处理 JSON

    Home / Qt 学习之路 2 / Qt 学习之路 2(63):使用 QJson 处理 JSON Qt 学习之路 2(63):使用 QJson 处理 JSON  豆子  2013年9月9日  Qt ...

  6. C++_基础1-基本数据类型

    面向对象(OOP)的本质是设计并扩展自己的数据类型.设计自己的数据类型就是让类型与数据匹配. 如果正确做到这一点,就会发现以后使用数据会容易很多.然而创建自己的类型之前,必须了解并理解C++内置类型. ...

  7. 理解Call、Apply、bind

    Apply.call 共同点: 为了改变函数执行时的上下文(简单说就是为了改变当前函数体内的This的指向) 不同点: 传入的参数不一样,func.apply(this,[arg1,arg2]).fu ...

  8. 字符型图片验证码,使用tensorflow实现卷积神经网络,进行验证码识别CNN

    本项目使用卷积神经网络识别字符型图片验证码,其基于 TensorFlow 框架.它封装了非常通用的校验.训练.验证.识别和调用 API,极大地减低了识别字符型验证码花费的时间和精力. 项目地址: ht ...

  9. 邮件email

    参考地址:https://blog.csdn.net/baidu_30000217/article/details/52942258 邮箱配置地址:http://service.exmail.qq.c ...

  10. GreenPlum 大数据平台--安装

    1. 环境准备 01, 安装包准备: Greenplum :  >>>>链接地址 Pgadmin客户端 :  >>>链接地址 greenplum-cc-web ...