在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中文網其他相關文章!