PLSQL 常用语句注意

1. null

在其他数据库语言中,null表示 未知,因此不会出现 null=null 的情况,而Oracle 中的null 表示空,即没有的意思。因此可以null=null,下面以在实际应用中的几种结果来验证一下:

  • 连接
select null from dual  --并集-不去重
union all
select null from dual

image
这里返回了2行 空值

select null from dual   --并集-去重
union 
select null from dual

image
去重之后返回1行空值

select null from dual   --交集
intersect 
select null from dual

image
两者相同的集合有一行,再次证明 null=null

select null from dual  --差集
minus
select null from dual

image
两者差集为0行,再次证明

2. 在运算函数中的null 不参与运算

在 COUNT、SUM、AVG、Min、Max 等聚合函数中出现空值null时,它们将会被从聚合中去掉。

select count(NULL) from (
select null from dual
union
select null from dual
)

image

  • 示例表
    image
select count(1) zongs,count(manager) managers from department;

image
因此在统计行数时,如果明确列名最好按列名统计,如果是统计总行数,则可以按count(1)或count(*) 统计

posted @ 2023-07-11 10:00  丹心石  阅读(60)  评论(0)    收藏  举报