Oracle数据库学习4之查询语句

数据查询语句:select

select [前置条件] 查的内容
into 表名(将查询的内容创建为新表)
from 从哪查
where 怎么查
order by [ASC(升序,默认)|DESC(降序)]
group by 按某个字段分组
having
between...and
like()模式匹配
is null/is no null(是否为空)
in/no in
rownum(顺序分配为从查询返回的行的编号)
as 声明别名
前置条件为distinct时,查询的结果去掉重复的。
rownum:系统顺序分配为从查询返回的行的编号,用于限制查询返回的总行数。
rowid:伪列,确保表中行的唯一性,并不能指示出行的物理位置,可以用来定位


group by知识总结:
group by ID是将数据按ID分类整理。


注意:
1.用having子句时,在子句中不能使用别名,必须使用在select语句中书写的形式
2.Where 和having的区别:
Wheret和having子句都用来筛选数据,
但是where是针对原数据进行筛选,而having子句只是针对汇总后的结果进行筛选


rollup操作符:
Rollup意思有”卷起,汇总”的意思,
可以在使得在其括号中的字段,按从右到左的顺序分别group后显示,类似我们用多个group by 语句,然后union all起来。
例子:select a,b,c,sum(n) total from testgroup group by rollup(a,b,c);
cube操作符:
Cube意思是立方,使用该操作符可以对操作符内的字段,进行遍历组合汇总。
例如cube(a,b,c),那么就会产生8种组合结果,分别如下”a-b-c”,”a-b”,”a”,”a-c”,” b-c”,”b”,”c”,”空”




多行子查询:

多行子查询可以返回单列多行的数据,在这种多行子查询中,必须使用多行运算符来判断,而不能使用单行运算符。
使用多行运算符可以执行与一个或多个数据的比较操作。
多行比较运算符包括:
IN:等于列表中的任何一值,也可使用not in,即列表中不存在的值
ANY:与子查询返回的每一个值进行比较
ALL:与子查询返回的所有值进行比较  

ANY运算符表示与子查询中的每一个值进行比较,这时,需要将单行比较运算符与该运算符组合起来使用。
与单行比较运算符组合之后,所使用的ANY运算符结果如下:
<any  表示小于最大值。
  =any  与IN运算符等价。
>any  表示大于最小值。
  对于ALL运算符而言,与单行比较运算符组合之后,所使用的ANY运算符结果如下:
<all  表示小于最小值。
>all  表示大于最大值。 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值