PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak porównać dwie tabele w postgresie

Cóż, najłatwiejszy do zrozumienia – ale niekoniecznie najszybszy – jest prawdopodobnie coś takiego. (Ale możesz mieć na myśli coś innego przez „porównaj”).

-- 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);

Możesz to również zrobić w jednym oświadczeniu, aby uzyskać wizualne porównanie. FULL OUTER JOIN zwraca wszystkie wartości w obu kolumnach, z pasującymi wartościami w tym samym wierszu, a NULL gdzie w jednej kolumnie brakuje wartości z drugiej.

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy istnieje wielobajtowy Postgresql Levenshtein?

  2. Błąd:brak modułu o nazwie psycopg2.extensions

  3. Ustaw puste ciągi ('') na NULL w całej bazie danych

  4. Skompresowane dzienniki archiwum PostgreSQL w systemie Windows

  5. PostgreSQL:jak ustawić search_path z wnętrza funkcji?