I'm a MySQL user. I have two queries, and I wish to compare their results for equality. I would like to do this with a single query which would return true or false, so each of my two queries would most likely take the form of sub-queries.
I would like to avoid returning the results from both queries and comparing them at the application level, to cut down on communication and to improve performance. I would also like to avoid looping over the results at the database level if possile, but if there's no other way, so be it.
I have searched high and low for an example on how to do this, but have come up empty handed. Some sample code would be most appreciated, because I'm a newbie to SQL programming. Thanks!
Note: I'm looking for a solution which would work with any two arbitrary queries, so I'm going to refrain from posting what my two queries happen to be.
This would be a little easier if MySQL supported
FULL OUTER JOIN
also note that if the the two queries give the same results but in different order that will be deemed equivlantIf the count =0 then the two queries are the same
Also because I'm using UNION duplicates are being removed. So there's a potential inaccuracy there.
You can't do MINUS in MySQL, so here's how to do it without:
That's given: