用union要注意的问题

今天由于数据校对不正确,发现了一个学习union时理所当然不仔细导致的错误,我想很多人都可能会犯类似的错误。

我需要把两个不同表的记录合并到一起处理,所以取了部分相同字段再union,结果因为没有取recordid之类的字段导致极个别记录被去掉。

这种情况出现的概率极小,前几个月因为没遇到这种情况而未能被发现

 

那就是union合并记录集时会把所取各字段值全部重复的记录去掉,详见下面的摘文:

 

UNION 指令的目的是将两个 SQL 语句的结果合并起来。从这个角度来看, UNIONJOIN 有些许类似,因为这两个指令都可以由多个表格中撷取资料。 UNION 的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类。另外,当我们用 UNION这个指令时,我们只会看到不同的资料值 (类似 SELECT DISTINCT)。 union只是将两个结果联结起来一起显示,并不是联结两个表…………

 

UNION ALL 这个指令的目的也是要将两个 SQL 语句的结果合并在一起。 UNION ALLUNION 不同之处在于 UNION ALL 会将每一笔符合条件的资料都列出来,无论资料值有无重复。

posted @ 2008-09-04 13:25  laoding  阅读(410)  评论(0编辑  收藏  举报