如何解析 SQL 查询以确定其表格依赖项?

How do I parse a SQL query to determine its tabular depencencies?

假设我有一个查询,例如:

SELECT * FROM POTATO LEFT JOIN TUBER ON POTATO.delicious = TUBER.delicious

是否有库或工具可以处理该查询和 return ["POTATO,"TUBER"],以便我可以按逻辑对一系列查询进行排序?

可能最简单的事情是 execute the SQL with SET STATISTICS XML ON。执行此操作时,您将获得两个结果集:查询的结果集和包含查询计划 XML 的结果集,包含在最后一行的第一列中。

将查询计划设为 XML 后,按照 these instructions 获取所有属性的列表,然后筛选 "Table" 并检查结果。