关于SQL的一般问题 - JOINS

时间:2010-11-05 15:00:13

标签: sql sql-server

如果我被要求查询超过三个表的JOIN,那么在我编码之前,我最好的方法是理解表的关系。我应该在SQL Server中使用数据库图表,还是会获得必要的信息?你会推荐什么?

提前感谢您的时间。

2 个答案:

答案 0 :(得分:1)

您可以使用SQL Server Management Studio中的图表工具来发现这些表之间的任何外键关系。它可能比使用GUI在设计模式下检查每个表并查看其“关系”对话框更快。

考虑使用这3个表创建一个临时视图。这将帮助您生成所需的SQL语句。如果这3个表中存在任何关系,则工具将为您创建JOIN语句。

  • 右键点击视图 - >新观点。
  • 选择您需要的表格,然后点击添加
  • 所有关系都显示在图表窗格中,SQL窗格将显示带有所需JOINS的SELECT语句。

alt text

答案 1 :(得分:1)

根据用于创建外键的约定,不应该很难找到表之间的关系。

我们使用的惯例是

dbo.TableA(ID PK)
dbo.TableB(ID PK, TableAID FK)
dbo.TableC(ID PK, TableBID FK)
...

如果他们根本不使用任何约定或者甚至没有创建外键约束,那么你可以把它作为一个机会,通过不使用它们来教育他们关于约定的重要性,即失去的时间和金钱。< / p>