加入时不要指定主键和外键

时间:2015-06-18 19:41:56

标签: sql sql-server

是否有可能(例如在MS SQL中)以这样的方式执行Join:

select p.* from Person p join Order o

默认情况下,数据库引擎可以查找这些表之间的任何关系并使用它而无需另外编写:

on p.ID = o.FK_Person

2 个答案:

答案 0 :(得分:0)

不需要在两种方式中指定join子句。

隐式连接表示法:

SELECT p.* 
FROM Person p, Order o
WHERE p.ID = o.FK_Person

或显式连接表示法:

SELECT p.* 
FROM Person p
INNER JOIN Order o
        ON p.ID = o.FK_Person

如果您不指定任何连接顺序,则任何服务器都不会加入任何连接顺序。它在SQL标准中定义。

答案 1 :(得分:0)

是的,可以使用非ansi连接逗号分隔



select p.* from Person p , Order o




警告:结果将是两个表的笛卡尔积.ANSI连接是不可能的。

谢谢