【日常学习笔记】2019/1/10(Oracle语句学习)
Oracle语句学习
(1)select * from dual中的dual到底是什么?
在sql-developer中测试发现,dual只是一个包含一列,永远只返回一条数据记录的虚拟表。使用dual,是为了构成select的语法规则。当我们需要查询一些不需要表名的数据时,但为了保证sql语法正确性,我们需要添加dual。
比如:
【1】查询当前用户
select user from dual;
【2】查询Oracle的系统时间
select sysdate from dual;
(2)trunc(number)函数
trunc()的作用是按照一定的规则截取传入的参数
【1】select trunc(123.456) from dual; 返回123 即直接去除小数位
【2】select trunc(123.456,2) from dual; 返回123.45 将小数点后2位的数字截去,说减去可能更容易理解
123.456-0.006=123.45
【3】select trunc(123.456,-2) from dual; 返回100 将小数点前2位的数字减去,即123.456-23.456=100
(3)nvl(a,b)函数
如果a为null值时,则返回b。如果a不为null值时,则返回a本来的值。
用java语言来概括就是
return a==null?b:a;
(4)sign(a)函数
如果a是负数,则返回-1
如果a是0,则返回0
如果a是正数,则返回1
(5)decode(key,x1,y1,x2,y2,.....xn,yn,defaultValue)函数
含义如下:类似于switch语句
switch(key){case x1:return y1;case x2:return y2;.......case xn:return yn;default:return defaultValue;
}
【1】查询某班男生和女生的数量
通常我们这么写:
select count(*) from 表 where 性别 = 男;
select count(*) from 表 where 性别 = 女;
之后好需要进行union
现在利用decode,可以这样写
select sum(decode(性别,男,1,0)),sum(decode(性别,女,1,0)) from 表
(6)listagg()函数的作用
列转行,能够将多条记录转化成一条记录,中间用特定的分隔符连接
话不多说。示例:
查看每个人身上的标签,标签之间以逗号隔开
对应的sql语句为:
select name,listagg(tag,',') within group(order by tag) tags from table_a group by name
此时输出为:
group bu name,先按照name字段就行分组
listagg(tag,',') 实现行转列,将分组后的tag列表转化成一行记录,各个tag之间用逗号连接
within group(order by tag),tag行记录内的多个tag,升序排列
(7)||是什么意思?
相当于字符串连接,即相当于“+”
话不多说,示例:
(8)(+)代表什么?
这个要谈到左连接与右连接。
当此符号出现在连接条件的右边时,此时是左连接。
当此符号出现在连接条件的左边时,此时是右连接。
更加详细的解释见Oracle(+)号用法
不过需要注意的是,oracle中才有这种语法。mysql中是没有的,只能乖乖的写join了。
【日常学习笔记】2019/1/10(Oracle语句学习)相关推荐
- python学习笔记(九)之语句1
python学习笔记(九)之语句1 print python2中,print是一个语句,python3中它是一个函数. 实例1: >> print "hello,world!&q ...
- oracle rac 仲裁盘_【学习笔记】深入研究Oracle RAC节点驱逐的条件和案例
天萃荷净 Oracle研究中心学习笔记:分享一篇关于Oracle数据库RAC环境中节点间管理的文章,详细介绍了RAC节点驱逐条件和管理方法. 本站文章除注明转载外,均为本站原创: 转载自loveOra ...
- mysql select语句详解_mysql学习笔记之完整的select语句用法实例详解
本文实例讲述了mysql学习笔记之完整的select语句用法.分享给大家供大家参考,具体如下: 本文内容: 完整语法 去重选项 字段别名 数据源 where group by having order ...
- Python学习笔记:Day 10 用户注册和登陆
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- mysql数据库select语句用法_mysql学习笔记之完整的select语句用法实例详解
本文实例讲述了mysql学习笔记之完整的select语句用法.分享给大家供大家参考,具体如下: 本文内容: 完整语法 去重选项 字段别名 数据源 where group by having order ...
- 高维统计学习笔记1——LASSO和Oracle性质
高维统计学习笔记1--LASSO和Oracle性质 主要参考资料:Sara Van De Geer<Estimation and Testing Under Sparsity> 前言 当年 ...
- 【双评价学习笔记2019】农业生产适宜性评价01·土地资源评价
QQ交流群:607330463 GIS开发技术最强交流群 未经允许 禁止转载 可以参考 文章是转载了一位大佬的,欢迎关注他的公众号:https://zhuanlan.zhihu.com/p/78 ...
- TI CC2530 学习笔记-0-IAR 8.10下载与安装
TI CC2530 学习笔记-目录 TI CC2530 学习笔记-0-IAR 8.10下载与安装 IAR 8.10下载:IAR8.10 for 8051 IAR 安装:安装教程
- 一文弄懂元学习 (Meta Learing)(附代码实战)《繁凡的深度学习笔记》第 15 章 元学习详解 (上)万字中文综述
<繁凡的深度学习笔记>第 15 章 元学习详解 (上)万字中文综述(DL笔记整理系列) 3043331995@qq.com https://fanfansann.blog.csdn.net ...
最新文章
- Android之工程目录介绍
- 记录Nginx搭建网关服务
- android ip探测,Android-IpReachabilityMonitor
- NLB网路负载均衡管理器详解
- matlab 工具 安装包下载地址,安装 | MATLAB2018a (64位) 安装教程及安装包下载链接...
- c语言全局变量和局部变量作用域重合时,c语言全局变量与局部变量(当变量重名时)的使用情况...
- 使用Python进行任务调度(进阶篇)
- 如此轻松就能搭建聊天机器人,我也要弄一个~
- 2021年国内好用的可视化工具
- 怎么将PDF文件转换成Word文档?
- 工行u盾显示316_工行U盾常见故障处理
- 手机的模拟,有耗电和充电方法, 有电量的属性
- c语言定积分区间微元面积,定积分的微元法.doc
- ViewFlipper-仿淘宝垂直广告滚动
- POJ - 3264
- linux下使用第三方商店安装应用
- LuckyExcel预览excel
- 基于requests+pyecharts的前程无忧工作岗位可视化分析
- 编辑器工具--通用编辑器工具(持续完善中)
- oracle确认AMM是否开启,【AMM】关于数据库实例AMM参数说明