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. DHCP与PPPOE 区别

    1.静态IP的方式,如果是占用一个INTERNET的IP的话,上网都是很贵的,当然这个也是最方便的,开机就能上网,不用做任何拨号或者认证的过程.2.PPPOE,只是多了一个获得IP的过程,一旦获得了I ...

  2. java学习笔记之位运算符

    java的位运算符主要针对二进制数的位进行逻辑运算,主要包括以下几种的位运算符 1.与运算符(&) 与运算符的使用规律是两个操作数中位为1的时候结果为1,否则都是0,例如  3&5=1 ...

  3. winform跨线程问题(有参数和无参数)

    1.invoke是同步线程 using System; using System.Collections.Generic; using System.ComponentModel; using Sys ...

  4. explian执行计划

    MySQL为我们提供了 explain 关键字来直观的查看一条SQL的执行计划. explain显示了MySQL如何使用索引来处理select语句以及连接表,可以帮助选择更好的索引和写出更优化的查询语 ...

  5. Jprofiler的安装部署及使用

    本地与远程安装同版本的jprofiler.以本地Windows操作系统,远程AIX操作系统为例,详细介绍安装配置步骤.本次测试使用的均是jp6版本. 一.安装Jprofiler服务端 一 般情况下,J ...

  6. bootstrap Table从零开始

      本文博主将从零开始,一步一步的告诉大家如何在前端用bootstrap Table插件展示一个表格 首先,要下载bootstrap Table插件所必须的js,地址:https://github.c ...

  7. liunx php-fpm

    查看php-fpm 相关信息 查看php-fpm是否开启 :ps -ef|grep php 查看php-fpm的位置:whereis php-fpm 查看php-fpm进程数:ps aux | gre ...

  8. [HAOI2018]反色游戏

    [Luogu4494] [BZOJ5303] [LOJ2524] LOJ有数据就是好 原题解,主要是代码参考 对于每一个联通块(n个点),其他的边一开始随便选,只需要n-1条边就可以确定最终结果. 所 ...

  9. WPF 布局

    WPF布局原则 WPF窗口只能包含单个元素,为在WPF窗口中放置多个元素并创建更贴近使用的用户界面,需要在窗口上放置一个容器,然后在这个容器中添加其他元素 遵循以下几条重要原则 不应显式设定元素(如控 ...

  10. Ibatis批量处理

    1.插入 <insert id="insTable" resultClass="int"> INSERT INTO [dbo].[table] ([ ...