4

我需要检查两个查询是否从特定实例返回等效数据(我意识到这并不意味着它们在所有实例上都是等效的)。但是,我不关心所述数据的顺序。

我目前正在使用:

(userQuery EXCEPT answerQuery) UNION ALL (answerQuery EXCEPT userQuery)

但是,这告诉我:

"SELECT first_name, last_name FROM employee" != "SELECT last_name, first_name FROM employee"
"SELECT id, first_name FROM employee ORDER BY id" != "SELECT id, first_name FROM employee"

基本上,无论列或属性的顺序如何,它都应该返回正确

4

1 回答 1

1

这样的事情会有帮助吗?

SELECT * FROM [query1] WHERE NOT EXISTS(SELECT * FROM [query2] WHERE [query1 key] = [query2 key])

然后将其与相同的查询联合起来。如果它什么都不返回,那么这两个查询是等价的。

于 2015-01-12T08:33:58.430 回答