【发布时间】:2015-06-18 19:41:56
【问题描述】:
是否有可能(例如在 MS SQL 中)以这样的方式执行 Join:
select p.* from Person p join Order o
默认情况下,数据库引擎可以查找这些表之间的任何关系并使用它而无需额外编写:
on p.ID = o.FK_Person
【问题讨论】:
-
不确定你在问什么。当您加入时,您必须在某些字段上加入表格。不一定是 PK 或 FK,但大多数时候都是。
-
我的意思是——我一直在写类似的查询。在编程中,你有很多东西可以让你少写 - 在这里你通常通过 PK 和 FK 加入,所以为什么默认它不会使用 PK 和 FK,如果没有指定/
-
因为编程不是魔法。你必须知道你在做什么。
-
你看到你在做什么 - 你看到了 db 图表 - 你在表之间有没有关系。我很惊讶这个基本且非常频繁的操作需要一直编写相同的代码,如果你可以说:'为我链接这些表(你知道怎么做)'
-
将表格链接在一起的方法不止一种。除非您告诉它,否则您如何建议 SQL 执行此操作?你想让它猜测并给你错误的答案吗?
标签: sql sql-server