给定 3 个表 a :{id, name_eng}, b: {id, name_spa} and c: {id, name_ita}
这是给定表的等效“产品笛卡尔查询”:
select
a.name_eng
b.name_spa
c.name_ita
from
a inner join b on a.id = b.id
left outer join c on a.id = c.id
给定 3 个表 a :{id, name_eng}, b: {id, name_spa} and c: {id, name_ita}
这是给定表的等效“产品笛卡尔查询”:
select
a.name_eng
b.name_spa
c.name_ita
from
a inner join b on a.id = b.id
left outer join c on a.id = c.id
我不知道你想要什么,笛卡尔积是这样的:
SELECT a.name_eng
b.name_spa
c.name_ita
FROM a
CROSS JOIN b
CROSS JOIN c
或隐式方式:
SELECT a.name_eng
b.name_spa
c.name_ita
FROM a,b,c
如果您希望使用笛卡尔积编写之前的查询(为什么??),那么应该这样做(在 SQL Server 2000 上):
SELECT a.name_eng
b.name_spa
c.name_ita
FROM a,b,c
WHERE a.id = b.id
AND a.id *= c.id
如果我对“为什么??”不够清楚,您不应该使用隐式连接,因为它们已被弃用,您应该始终使用正确的显式连接。