PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách so sánh hai bảng trong postgres

Chà, dễ hiểu nhất - nhưng không nhất thiết phải nhanh nhất - có lẽ là một cái gì đó như thế này. (Nhưng bạn có thể có ý khác khi "so sánh".)

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

Bạn cũng có thể làm điều này trong một câu lệnh duy nhất để cung cấp cho bạn một so sánh trực quan. FULL OUTER JOIN trả về tất cả các giá trị trong cả hai cột, với các giá trị phù hợp trong cùng một hàng và NULL trong đó một cột bị thiếu một giá trị trong cột kia.

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. Chia mảng JSON khổng lồ (95Mb) thành nhiều phần nhỏ hơn?

  2. Làm cách nào để biết Autovacuum của PostgreSQL đang chạy trên UNIX?

  3. Định dạng ngày Postgres UTC &truyền kỷ nguyên, đảo ngược ký hiệu

  4. Cách ghi khung dữ liệu Pandas vào mô hình Django

  5. Kích hoạt để xóa các hàng khỏi các bảng có liên quan trước khi xóa các hàng khỏi bảng thực tế