SQLAlchemy Core - Xóa nhiều bảng
Trong chương này, chúng ta sẽ xem xét biểu thức Xóa Nhiều Bảng tương tự như cách sử dụng chức năng Cập nhật Nhiều Bảng.
Nhiều hơn một bảng có thể được tham chiếu trong mệnh đề WHERE của câu lệnh DELETE trong nhiều phương ngữ DBMS. Đối với PG và MySQL, cú pháp "DELETE USING" được sử dụng; và đối với SQL Server, sử dụng biểu thức "XÓA TỪ" đề cập đến nhiều hơn một bảng. SQLAlchemydelete() construct hỗ trợ ngầm định cả hai chế độ này, bằng cách chỉ định nhiều bảng trong mệnh đề WHERE như sau:
stmt = users.delete().\
where(users.c.id == addresses.c.id).\
where(addresses.c.email_address.startswith('xyz%'))
conn.execute(stmt)
Trên chương trình phụ trợ PostgreSQL, SQL kết quả từ câu lệnh trên sẽ hiển thị như sau:
DELETE FROM users USING addresses
WHERE users.id = addresses.id
AND (addresses.email_address LIKE %(email_address_1)s || '%%')
Nếu phương pháp này được sử dụng với cơ sở dữ liệu không hỗ trợ hành vi này, trình biên dịch sẽ tăng NotImplementedError.