SQL - 在一个查询中递归删除?

SQL - Recursive delete in one query?

假设我有这样的数据库:

有没有办法在一个查询中删除包含子文件夹的文件夹中的所有文件?

示例:

然后我尝试删除 folder1。该单个查询应删除文件夹 2 和文件夹 3 中的所有文件,因为文件夹 2 在文件夹 1 下,而文件夹 2 在文件夹 1 下。

** 我知道我可以将其作为递归脚本来执行,但我想更多地自学

正如@jarlh 所建议的,一个非常好的解决方案是拥有一个外键,并带有删除级联。