Oracle---day01

2023-11-17

一、简单查询语句

 1.去重查询,和mysql的一样
  select distinct job from emp;
  select distinct job, deptno from emp;  --去除job相等且deptno相等的结果

 2.查询员工年薪
  select ename 姓名, sal 月薪, sal*12 年薪 from emp;

 3.字符串拼接
  select ‘姓名’ || ename from emp;  --Oracle特有的拼接方式
  select concat('姓名', ename) from emp;  --Mysql和Oracle都可以使用

 4.查询能得到奖金的员工信息
  select * from emp where comm is not null;

 5.查询工资在1500~3000之间的员工信息
  select * from emp where sal between 1500 and 3000;

 6.查询姓名在某个范围类的员工信息
  select * from emp where ename in ('WARD','SCOTT','KING');

 7.查询姓名的第三个字母为o的员工信息
  select * from emp where ename like '__0%';

 8.查询部门编号和工资,按照编号升序,工资降序排列
  select deptno, sal from emp order by deptno asc, sal desc;

 二、函数

 1.查询工资和
  select sum(sal) from emp;

 2.查询平均工资
  select avg(sal) from emp;

 3.数值函数向上取整、向下取整和四舍五入、截断
  select ceil(45.887) from dual;  --向上取整  46
  select floor(45.887) from dual;    --向下取整  45

  
select round(45.826, 2) from dual; --45.83  --四舍五入   参数2 为保留小数位
  select round(45.826, 1) from dual; --45.8
  select round(45.826, 0) from dual; --46
  select round(45.826, -1) from dual; --50
  select round(45.826, -2) from dual; --0

  select trunc(45.826, 2) from dual; --45.82  --截断
  select trunc(45.826, 1) from dual; --45.8
  select trunc(45.826, 0) from dual; --45
  select trunc(45.826, -1) from dual; --40
  select trunc(45.826, -2) from dual; --0

 4.字符串的截取
  select substr('hello_world', 3, 4)  --表示从第3个字母开始截取4个字母   llo_

 5.日期函数
  select sysdate from dual;  --当前时间
  select months_between(sysdate, hiredate) from emp;  --查询员工入职到现在的月数

 6.转换函数
  字符转数值 to_number(str)
  select to_number('123') from dual;
  日期转字符串 to_char
  select to_char(hiredate, 'yyyy-mm-dd hh:mi:ss') from emp;
  select to_char(sysdate, 'd') from dual;   --一周的第几天
  select to_char(sysdate, 'dd') from dual;    --一个月的第几天
  select to_char(sysdate, 'ddd') from dual;   --一年的第几天
  字符串转日期 --to_date
  select * from emp where hiredate between to_date(1981, 'yyyy') and to_date(1986, 'yyyy');  --查询在1981~1986年之间入职的员工信息

 7.通用函数,nvl、nvl2、nullif
  nvl(arg1, arg2)     --如果arg1=null,返回arg2
  nvl2(arg1, arg2, arg3) -- 如果arg1=null,返回arg3,否则返回arg2 
  nullif(arg1, arg2)       -- 如果arg1==arg2,返回null,否则返回arg1
  select nvl2(comm, 1, 0) from emp  --查询员工是否有奖金

 8.条件表达式
  select      --这种方法在Oracle和Mysql都适用
   case deptno
   when 10 then '10号部门'
   when 20 then '20号部门'
   when 30 then '30号部门’
  end from emp;

  select decode(deptno,10, '10号部门', 20, '20号部门', 30, '30号部门','其他部门') from emp;  --Oracle特有的写法

三、练习

 1.查询工资大于12000的员工姓名和工资
  select first_name,salary from employees where salary > 12000;

 2.查询员工号为176的员工的姓名和部门号
  select first_name, department_id from employees where employee_id=176;

 3.选择工资不在5000到12000的员工的姓名和工资
  select frist_name,salary from employees where salary not between 5000 and 12000;

 4.选择雇用时间在1998-02-01到1998-05-01之间的员工姓名,job_id和雇用时间
  select first_name, job_id, hire_date from employees
  where hire_date between to_date('1998-02-01', 'yyyy-mm--dd') and to_date('1998-05-01', 'yyyy-mm-dd');

 5.选择在20或50号部门工作的员工姓名和部门号
  select first_name, department_id from employees where department_id=20 or department_id=50;

 6.选择在1994年雇用的员工的姓名和雇用时间
  select first_name, hire_date from employees where to_char(hire_date, 'yyyy') = '1994';

 7.选择公司中没有管理者的员工姓名及job_id
  select first_name, job_id from employees where manager_id is null;

 8.选择公司中有奖金的员工姓名,工资和奖金级别
  select first_name, salary, commission_pct from employees where commission_pct is not null

 9.选择员工姓名的第三个字母是a的员工姓名
  select first_name from employees where first_name like '__a%';

 10.选择姓名中有字母a和e的员工姓名
  select first_name from employees where first_name like '%a%' and first_name like '%e%';

 11.显示系统时间
  select sysdate from dual;

 12.查询员工号,姓名,工资,以及工资提高百分之20%后的结果(new?salary)
  select employee_id, first_name, salary, salary+salary*0.2 "new salary" from employees;

 13.将员工的姓名按首字母排序,并写出姓名的长度(length)
  select first_name, length(first_name) from employees order by first_name;

 14.查询各员工的姓名,并显示出各员工在公司工作的月份数
  select first_name, months_between(sysdate,hire_date) from employees;

 15.查询员工的姓名,以及在公司工作的月份数(worked_month),并按月份数降序排列
  select first_name, months_between(sysdate, hire_date) "worked_months" from employees order by months_between(sysdate, hiredate) desc;

 

 

转载于:https://www.cnblogs.com/zy-Luo/p/11520021.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Oracle---day01 的相关文章

  • 树莓派4b风扇安装方法_树莓派安装手记

    女王节前夕做活动 卖树莓派的淘宝店家做活动 又在盆友的鼓励下剁手买了一个派 245元 有一个3代B型的派 一根带插头的充电线 一个需要自己组装的透明外壳 散热片 小风扇 就没了 是的 没有屏幕 我这里的条件也不太乐观 一台没有网线接口的超薄
  • 【操作系统】Linux Kernel中memcpy的汇编实现 详解(包括必要基础概念等)

    memcpy汇编实现 由于这篇博客是从我的各种笔记上搬的 我不知道自己为什么看了mmcpy汇编实现 也许单纯就是因为好玩 在arch x86 boot Copy S中 由Linus在1992年写的一段代码 GLOBAL memcpy pus
  • brew install mysql

    Mac安装MySQL Brew 以及修改默认密码 折腾了一大圈之后 得知需要安装MacOS的包管理器 HomeBrew 百度搜索macos安装homebrew 进入第一个CSDN大佬文章开始撸 安装HomeBrew教程 跟着教程把brew安
  • 连续随机变量的概率分布(正态分布)

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 概率密度与分布函数 当用函数f x 来表示连续型随机变量时 我们将f x 称为概率密度函数 或者密度函数 想要求随机变量的概率 可以用 分布函数F x 来表示 F x 为图
  • 【JavaScript速成之路】一文带你初识JavaScript

    个人主页 小杨 的csdn博客 系列专栏 JavaScript速成之路 希望大家多多支持 一起进步呀 文章目录 前言 1 JavaScript 1 1 JavaScript概述 1 2 JavaScript历史 1 3 JavaScript

随机推荐

  • History API 使用指北

    https yeaseonzhang github io 2017 03 03 History API E4 BD BF E7 94 A8 E6 8C 87 E5 8C 97 more HTML5 History API 基本上是为了SPA
  • vue.config.js配置解析

    const path require path module exports publicPath publicPath process env NODE ENV production production sub path outputD
  • mybatis动态sql中的trim标签的使用

    trim标记是一个格式化的标记 可以完成set或者是where标记的功能 如下代码 trim标记是一个格式化的标记 可以完成set或者是where标记的功能 如下代码 1 select from user
  • java jvm监控实现_JVM及Java监控原理与实践

    简介 主要是介绍一下对运行Java程序的一些跟踪 以及对JVM内存等方面进行运维的一些方法 反解析class文件的工具使用 一般使用jd gui工具进行反编译class文件 有些jd gui无法反编译的class 可以使用luyten工具进
  • 关于video标签的巨坑

    事情是这样的 请求第一页的资源的时候 第一个位置是个视频 现在视频的src是写在video的source中的 第一个位置 但是切换到下一页的时候 下一页的数据的第一个位置也是视频 但是页面上显示的还是之前的 打开调试工具看 可以发现sour
  • Qt :非window子窗体的透明度设置

    问题的由来 心血来潮 想利用QTimer 配合 setWindowOpacity 方法来实现一个窗体淡入的效果 实验代码 粗糙的实验代码 void Widget on pushButton clicked QTimer timerOpaci
  • 3DMAX怎么把模型分开

    一 3dmax怎么把模型分开 1 怎样将一个合并过得物体分解成数个小物体呢 前提是经过合并过得 2 如果是成组的物体 只需点击工具栏 组 成组 3 如果是附加合并的物体 点击组的话 不会出现其他的命令 这时 要在修改面板分离 选中物体 右键
  • 空中旋球计算机控制系统,自动乒乓球发球机设计及其控制系统的研究

    摘要 为了使练习者能更好地学习乒乓球技术以达到健身和训练的目的 本文针对乒乓球发球的特点 从总体上设计了一种新型的乒乓球发球机 自动乒乓球发球机 本文综述了国内外乒乓球发球机的现状 对已有发球机的机械结构进行分析 根据所需实现的功能 提出了
  • IDEA使用教程最全汇总(持续更新)

    1 IDEA实用设置小技巧 2 IDEA常用快捷键 3 IDEA关联数据库 前言 本文记录IDEA实用的使用教程 以作记录 一 IDEA实用设置小技巧 1 IDEA去掉代码黄色下划线 在IDEA中根据设置的不同 有些代码页 当代码重复比较多
  • 【RabbitMQ分析】01 SimpleMessageListenerContainer原理分析

    往期推荐 sharding sphere 01 SQL路由 Nacos源码分析 02 获取配置流程 Java并发编程 03 MESI 内存屏障 Spring源码 11 Spring AOP之编程式事务 编程开发 01 日志框架 概述 Sim
  • 网络安全:制作 windows 和 linux 客户端恶意软件进行渗透

    实战 制作 Windows 恶意软件获取公司财务电脑 shell 实战 WinRAR 捆绑恶意程序并自动上线 MSF 实战 制作 Linux 恶意软件获取公司服务器 shell 实战 制作恶意 deb 软件包来触发后门 1 制作 Windo
  • python 使用上级目录的文件(相对路径,绝对路径)

    Python功能点实现 多方法访问上级目录中的文件 简书 1 相对路径 csv test b txt 2 绝对路径 from os path import dirname abspath dirname dirname abspath fi
  • php 随机生成指定金额范围内的随机数

    function random bag money total personal num min money money total 20 personal num 19 min money 1 money right money tota
  • CSS之设置图片宽度100%,高度等于宽度

    html代码如下 div class left div class img img src static img face 2 jpg div div stulus语法 img position relative width 100 hei
  • DDD-笔记

    先说下传统系统设计 大部分从数据库开始 自底向上的设计 这种设计会使系统的设计受到数据库的影响 会有比较大的局限性 比如说 数据库仅有数据 没有行为 而对现实世界的描述则会更加抽象 更加远离业务 开发团队通过与产品或客户的沟通 直接设计表模
  • Python 快速验证代理IP是否有效

    有时候 我们需要用到代理IP 比如在爬虫的时候 但是得到了IP之后 可能不知道怎么验证这些IP是不是有效的 这时候我们可以使用Python携带该IP来模拟访问某一个网站 如果多次未成功访问 则说明这个代理是无效的 代码如下 import r
  • mysql到hive调度工具_调度工具(ETL+任务流)

    1 区别ETL作业调度工具和任务流调度工具 kettle是一个ETL工具 ETL Extract Transform Load的缩写 即数据抽取 转换 装载的过程 kettle中文名称叫水壶 该项目的主程序员MATT 希望把各种数据放到一个
  • RMAN.DBMS_RCVCAT 版本错误处理

    oracle xml oms rman target sys oracle1 emdb catalog rman rman emdb Recovery Manager Release 10 2 0 5 0 Production on Wed
  • Java中的函数使用

    Java中函数是一段可重复使用的代码块 可接受输入参数并返回结果 函数的定义通常包括函数名 参数列表和返回类型 在Java中 函数也被看作是对象 具有属性和方法 本文将从多个方面详细阐述Java中函数的使用和注意事项 一 函数的定义和使用
  • Oracle---day01

    一 简单查询语句 1 去重查询 和mysql的一样 select distinct job from emp select distinct job deptno from emp 去除job相等且deptno相等的结果 2 查询员工年薪