1
我已经有了一个结果集,但是我对其他查询有相同的结果感兴趣。他们之间有什么更好或更快?CROSS JOIN替代方案
insert into [dbo].[Teams] values(1,'First')
insert into [dbo].[Teams] values(2,'Second')
insert into [dbo].[Teams] values(3,'Third')
insert into [dbo].[Teams] values(4,'Fourth')
insert into [dbo].[Teams] values(5,'Fifth')
CREATE TABLE [dbo].[Team_team] (
[id1] [int] NOT NULL,
[id2] [int] NOT NULL
) ON [PRIMARY]
GO
select * from teams;
select t1.id,t2.id from teams t2 cross join teams t1
您可以选择任何其他连接类型'LEFT','INNER','RIGHT'并且使连接谓词ON1 = 1。虽然不会提高性能。 –
您显示'Team_team'的模式,但您的SQL正在查询'团队'。 – mbeckish
'CROSS JOIN'是表示有意笛卡尔产品的最佳方式......其他任何东西都会看起来像是一场意外。 –