比较postgres数据库中的两列

Ben*_*n_S 5 sql postgresql comparison

我被一个看似简单的问题难住了。我有一张桌子,例如,

CREATE TABLE cities (
     column_1 TEXT,
     column_2 TEXT);
Run Code Online (Sandbox Code Playgroud)

这些表格的内容在哪里

column_1  |  column_2
---------------------
Atlanta   |  Atlanta
Boston    |  Chicago
Chicago   |  Los Angeles
Seattle   |  Tacoma
NULL      |  Seattle
Run Code Online (Sandbox Code Playgroud)

我可以运行什么查询来查看这两列,不管它们的顺序如何,返回两列匹配的位置?

我正在寻找的结果是:

column_1  |  column_2
---------------------
Atlanta   |  Atlanta
Chicago   |  Chicago
Seattle   |  Seattle
Run Code Online (Sandbox Code Playgroud)

我试过了:

SELECT *
FROM cities
WHERE column_1 = column_2;
Run Code Online (Sandbox Code Playgroud)

但这只会返回完全匹配:

column_1  |  column_2
---------------------
Atlanta   |  Atlanta
Run Code Online (Sandbox Code Playgroud)

404*_*404 7

你只需要一个自我加入:

SELECT c1.column_1, c2.column_2
FROM cities c1
JOIN cities c2
    ON c1.column_1 = c2.column_2
Run Code Online (Sandbox Code Playgroud)