首頁 > 資料庫 > mysql教程 > 如何在 MySQL DELETE 查詢中使用 LEFT JOIN 刪除資料列?

如何在 MySQL DELETE 查詢中使用 LEFT JOIN 刪除資料列?

Mary-Kate Olsen
發布: 2024-11-30 09:07:15
原創
434 人瀏覽過

How to Delete Rows Using LEFT JOIN in MySQL DELETE Queries?

在MySQL 中使用LEFT JOIN 刪除截止日期

在管理儲存在兩個表中的作業截止日期和作業描述時,您遇到了困難基於LEFT JOIN 查詢刪除行。要解決此問題,了解使用 LEFT JOIN 執行 DELETE 查詢的正確語法至關重要。

LEFT JOIN 語句可讓您從「左」表(在本例中為截止日期)中選擇行並包含符合的行基於連接條件的「右」表(在本例中為作業)中的行。但是,使用 LEFT JOIN 刪除行需要對查詢語法進行細微的變更。

要根據與作業表的 LEFT JOIN 成功從截止日期表中刪除行,您需要明確指定從中刪除行的表。行將被刪除。以下是可能的變體:

僅刪除截止日期行

如果您只想刪除截止日期行,則應如下修改查詢:

DELETE `deadline` FROM `deadline`
LEFT JOIN `job`
ON deadline.job_id = job.job_id
WHERE `status` = 'szamlazva'
OR `status` = 'szamlazhato'
OR `status` = 'fizetve'
OR `status` = 'szallitva'
OR `status` = 'storno';
登入後複製

在此查詢中,DELETE Deadline FROM 指定您要從截止日期表中刪除行。 LEFT JOIN 用於根據作業表的狀態列過濾行。

刪除截止日期和作業行

如果您想同時刪除截止日期和作業基於LEFT JOIN 標準的行,您應該使用以下內容查詢:

DELETE `deadline`, `job` FROM `deadline`
LEFT JOIN `job`
ON deadline.job_id = job.job_id
WHERE `status` = 'szamlazva'
OR `status` = 'szamlazhato'
OR `status` = 'fizetve'
OR `status` = 'szallitva'
OR `status` = 'storno';
登入後複製

此處,DELETE Deadline, job FROM 指定要從截止日期和作業表中刪除行。

只刪除作業行

如果您只想刪除作業行,但保留截止日期行,您應該使用以下命令查詢:

DELETE `job` FROM `deadline`
LEFT JOIN `job`
ON deadline.job_id = job.job_id
WHERE `status` = 'szamlazva'
OR `status` = 'szamlazhato'
OR `status` = 'fizetve'
OR `status` = 'szallitva'
OR `status` = 'storno';
登入後複製

請務必記住,DELETE 語句中表名的順序會影響將刪除哪些行。

以上是如何在 MySQL DELETE 查詢中使用 LEFT JOIN 刪除資料列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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