Oracle一

基本查询

select *|{[distinct] column|expression [alias],...}

from table;

 

别名中有没有双引号就在于别名中有没有特殊符号或者关键字。

 

sql中支持四则运算+、-、*、/

 

什么时null值?

空值是无效的,未指定的,或者不可预知的值,空值不是空格或者0.

包含null值的表达式永远为null,空值永元年不等于空值。

字符串连接使用   ||,或者contact()。

 

比较运算符

操作符含义
=等于(不是==),赋值使用:=符号
>大于
>=大于等于
<小于
<=小于等于
<>不等于(也可以是!=)

 

其他比较运算符

操作符含义
between...and...在两个值之间(包含边界)
in等于值列表中的一个
like模糊查询
is null空值

 

逻辑运算符

操作符含义
and逻辑与
or逻辑或
not逻辑非

 

between...and...不仅可以使用在数值之间,还可以使用在日期的区间。

 

select *|列名 

from 表名

{where 查询条件}

order by 列名一 asc|desc,列名二 asc|desc;

 

order by要放在sql语句的最后执行。

 

排序时存在null值就会产生问题,我们可以用nulls first,nulls last来指定null显示的位置。

 

单行函数

 

dual是伪表。

函数可以没有输入参数,但是必须有返回值。

 

函数包括单行函数和多行函数。

 

单行函数包括字符,数值,日期,转换,通用函数。

 

字符函数:

        大小写控制函数:lower,upper,initcap(首字符大写)

         字符串控制函数:concat(字符串连接,建议使用||),substr('hello',1,3),length/lengthb,lpad/rpad,trim,

replace('hello','l','x')

 

数值函数:

       四舍五入   round(45.926,2)  45.93

       截断   trunc(45.926,2)   45.92

       求余    mod(1600,300)   100

 

日期函数:

函数描述
mouths_between两个日期相差得月数
adds_mouths向指定日期中加上若干月数
next_day指定日期中的下一个日期
last_day本月中的最后一天
round日期四舍五入
trunc日期截断

 

 

 

数据类型转换包括显式转换和隐式转换。

隐式转换

源数据类型目标数据类型
varchar2 or charnumber
varchar2 or chardate
numbervarchar2 
datevarchar2 

 

 

 

隐式转换

转换函数:

对日期的转换

to_char(date,'format_model')

日期的格式

格式说明举例
YYYYFull year in numbers2011
YEAR年的英文全称twenty eleven
MM月份两位数字02
MOUNTH月的全称4月
DY星期几星期一
DAYfull name of day of the week星期一
DDnumeric day of the mounth02

 

对数字的转换

to_char(number,'format_model')

9数字
00
$美元符
L本地货币符号
.小数点
,千位符

 

 

 

什么是通用函数?

这些函数适用于任何数据类型,同时也适用于空值。

常用的通用函数,nvl(expr1,expr2),nvl2(expr1,expr2,expr3),nullif(expr1,expr2),coaleec(expr1,expr2,...exprn)

 

条件表达式

case表达式,sql99的语法,类似basic,比较繁琐

case expr when comparison1 then return_expr1

                [when comparison2 then return_expr2

                 when comparisonn then return_exprn

                 else else_expr]

end

decode函数

decode (col|expression,search1,result1

                                      [,search2,result2,...,]

                                       [,default])

 

 

什么是多行函数?

分组函数作用与一组数据,并对一组数据返回一个值。也叫组函数,分组函数。

组函数会忽略空值,nvl函数使分组函数无法忽略空值。

count()  统计记录数

min()

max()

avg()

sum()

如果使用分组函数,sql只可以把group by分组字段和分组函数查询出来,不能有其他字段。

如果使用分组函数,不使用group by只可以查询出分组函数的值。

where 和having的区别:最大的区别:where后面不能有组函数。

 

oracle连接条件的类型

等值连接,不等值连接,外连接,自连接。

 

 

 

 

 

 

 

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值