ORALCE 容易混淆语句
程序员文章站
2022-06-02 10:42:39
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 的返回结果进行筛选。