oracle中表查询需要注意的常见问题

1、当在select语句中,同时使用where、group by和having子句时,它们的作用和执行顺序如下:
(1)where用于筛选由from指定的数据对象
(2)group by用于对where的结果进行分组
(3)having用于对group by分组后的数据进行过滤

2、count(*)与count(columnName|columnIndex)的区别:
count(*)会统计表中的null计算在内,而count(columnName|columnIndex)会忽略对应字段的null记录。

3、以join关键字指定的连接主要有四种:inner join、left outer join、right outer join和 full outer join。
(1)inner join是内连接,是系统默认的连接方式,可以省略inner,它会把所有满足条件的记录列出来。
(2)left outer join是左外连接,其中outer可以省略,它除了列出所有满足条件的记录外,还包括左表的所有行。
(3)right outer join是右外连接,其中outer可以省略,它除了列出所有满足条件的记录外,还包括右表的所有行。
(4)full outer join是全外连接,其中outer可以省略,它除了列出所有满足条件的记录外,还包括左表和右表的所有行。

4、select中的union子句
使用union子句可以将两个或两个以上的查询结果合并成一个结果集。其语法格式如下:
    (query expression) union [all] (query expression) [union [all] (query expression)]
--使用关键字all表示合并的结果集中包括所有行,不去除重复行,而不使用all关键字则会去除重复行。
使用union的基本规则是:
    (1)所有查询中的列数和列的顺序必须相同
    (2)对应列的数据类型必须兼容
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值