欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ORALCE 容易混淆语句

程序员文章站 2023-09-28 09:08:05
union 和 union all ① union 多用于合并两个或者多个 select 的结果集。 ② union 会去掉重复的结果,union all 会保存 select 查出来的所有结果。 ③ union 内部的 select 结果集必须拥有相同数量的列,列的顺序必须相同;列也必须是相同的数 ......

union 和 union all

① union 多用于合并两个或者多个 select 的结果集。

② union 会去掉重复的结果,union all 会保存 select 查出来的所有结果。

③ union 内部的 select 结果集必须拥有相同数量的列,列的顺序必须相同;列也必须是相同的数据类型,像 '111' 和 111 这样的结果集也不能合并,会报 “ORA-00900:无效SQL语句”。

④ union 结果集的列明等于第一个 select 结果集的列名。

 

where 和 having

① where 不能放在 group by 后面。

② where 后面的条件不能有聚合函数。比如 sum()。

③ having 是跟 group by 放在一起使用的,放在 group by 的后面,作用相当于 where 。

④ where 和 having 都是对查询结果的一种筛选。

⑤ where 字句用于从 from 返回的值。where 子句中可以使用比较运算符(>、>=、<、<=、=、<>、!=)和逻辑运算符(and、or、not)。from 返回的每一行数据都会用 where 字句中的条件进行筛选。

⑥ having 对 group by 的结果进行进一步的筛选。在查询过程中 聚合函数 比 having 语句优先执行。where 字句优先于聚合函数执行。having 可以对 group by 、where、from 的返回结果进行筛选。