R语言 Netezza SQL:检查两个表是否相同

v6ylcynt  于 2023-09-27  发布在  其他
关注(0)|答案(1)|浏览(103)

我正在使用Netezza SQL。
假设我有两张table:

### TABLE1

  var1 var2
1    1    a
2    1    b
3    1    c

## TABLE2

  var1 var2
1    1    a
2    1    b
3    1    c

如果我使用R编程语言,我可以很容易地验证这两个表是相同的:

> identical(table1, table2)
[1] TRUE

**我的问题:**是否可以在Netezza SQL中做类似的事情?

谢谢你,谢谢

z31licg0

z31licg01#

Set operators可用于查找两个表之间的差异。
EXCEPT ALL从第一个结果集中删除第二个结果集中的相同行,这必须以两种顺序运行以获得所有差异。UNION ALL将两个结果集合并在一起。如果返回任何行,则它们是不相同的。COUNT(*) = 0将返回布尔值。

-- Example data and table names with a CTE, this isn't required.
WITH TABLE1 (var1, var2) AS (
    VALUES (1, 'a'), (1,'b'), (1,'c')
),
TABLE2 (var1, var2) AS (
    VALUES (1, 'a'), (1,'b'), (1,'c')
)

-- Compare these tables
SELECT COUNT(*) = 0 AS IS_IDENTICAL FROM
(
    (
        SELECT * FROM TABLE1
        EXCEPT ALL
        SELECT * FROM TABLE2 
    )
    UNION ALL
    (
        SELECT * FROM TABLE2
        EXCEPT ALL
        SELECT * FROM TABLE1 
    )
)
;

输出量:
| IS_IDENTICAL|
| --|
| 真正|

相关问题