What are the potential pitfalls of using a LEFT JOIN in a DELETE statement in PHP?

Using a LEFT JOIN in a DELETE statement in PHP can potentially delete more records than intended if there are multiple matches in the joined tables. To avoid this issue, you can use a subquery to select only the records you want to delete.

// Example of using a subquery to avoid pitfalls of using LEFT JOIN in a DELETE statement
$sql = "DELETE FROM table1 WHERE id IN (SELECT id FROM table1 LEFT JOIN table2 ON table1.id = table2.id WHERE table2.id IS NULL)";
$result = $conn->query($sql);
if ($result) {
    echo "Records deleted successfully.";
} else {
    echo "Error deleting records: " . $conn->error;
}