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

Xóa bằng cách sử dụng kết nối bên ngoài bên trái trong Postgres

Như những người khác đã lưu ý, bạn không thể THAM GIA TRÁI trực tiếp trong câu lệnh DELETE. Tuy nhiên, bạn có thể tự tham gia trên một khóa chính của bảng đích bằng câu lệnh USING, sau đó rời tham gia với bảng tự tham gia đó.

DELETE FROM tv_episodes
USING tv_episodes AS ed
LEFT OUTER JOIN data AS nd ON
   ed.file_name = nd.file_name AND 
   ed.path = nd.path
WHERE
   tv_episodes.id = ed.id AND
   ed.cd_name = 'MediaLibraryDrive' AND nd.cd_name IS NULL;

Lưu ý tự nối trên tv_episodes.id trong mệnh đề WHERE. Điều này tránh tuyến truy vấn phụ được cung cấp ở trên.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các khóa chính với Apache Spark

  2. Tìm tên máy chủ và cổng bằng lệnh PSQL

  3. Amazon RDS cho PostgreSQL Alternatives - ClusterControl cho PostgreSQL

  4. Định cấu hình một `DataSource` để kết nối với máy chủ Postgres được quản lý trên Digital Ocean với mã hóa SSL / TLS

  5. truy vấn sql nhóm các mục khác nhau thành các nhóm