首頁 > 資料庫 > mysql教程 > 如何根據另一個 SQL 表中的 ID 有效地從一個 SQL 表中刪除行?

如何根據另一個 SQL 表中的 ID 有效地從一個 SQL 表中刪除行?

Patricia Arquette
發布: 2025-01-05 04:17:40
原創
376 人瀏覽過

How to Efficiently Delete Rows from One SQL Table Based on IDs in Another?

根據另一個表刪除行

在SQL 中,根據行的存在從表中刪除行的情況並不罕見在另一張桌子上。考慮以下場景:

資料庫查詢:

我似乎永遠不記得這個查詢!

資料庫查詢目標:

我想要刪除Table1 中ID 與中相同的所有行表2.這可以表示為:

DELETE table1 t1
WHERE t1.ID = t2.ID
登入後複製

雖然子查詢方法有效,但我們將探索如何使用JOIN來實現此目的以提高效能:

資料庫查詢解決方案使用JOIN:

DELETE t1 
FROM Table1 t1
JOIN Table2 t2 ON t1.ID = t2.ID;
登入後複製

透過利用JOIN,我們在以下行之間建立關係Table1 和Table2 基於其ID 欄位。 Table1 中與 Table2 中的行共用 ID 值的行將被識別並符合刪除條件。

注意:

  • 建議在DELETE 語句中使用別名.
  • 透過在執行查詢之前反白顯示整個查詢來防止意外刪除,以避免刪除整個表而不是特定的表行。

以上是如何根據另一個 SQL 表中的 ID 有效地從一個 SQL 表中刪除行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板