How to compare two tables in postgres

匿名 (未验证) 提交于 2019-12-03 07:36:14

问题:

I want compare two column values which come from two different queries. Can anyone suggest a query which compares two columns in Postgres?

回答1:

Well, the easiest to understand--but not necessarily the fastest--is probably something like this. (But you might mean something else by "compare".)

-- Values in column1 that aren't in column2. SELECT column1 FROM query1  WHERE column1 NOT IN (SELECT column2 FROM query2);  -- Values in column2 that aren't in column1. SELECT column2 FROM query2  WHERE column2 NOT IN (SELECT column1 FROM query1);  -- Values common to both column1 and column2 SELECT q1.column1 FROM query1 q1 INNER JOIN query2 q2 ON (q1.column1 = q2.column2); 

You can also do this in a single statement to give you a visual comparison. A FULL OUTER JOIN returns all the values in both columns, with matching values in the same row, and NULL where one column is missing a value that's in the other column.

SELECT q1.column1, q2.column2 FROM query1 q1 FULL OUTER JOIN query2 q2 ON (q1.column1 = q2.column2); 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!