Sql 专家仲裁者的眼光。也许这是dbenham在获得+50赏金(不是顶部标记为已接受的赏金)的答案中描述的左连接快速性能的罕见场景。您给出的示例与实际应用相差很远,而在实际示例中,性能可能会受到其他因素的影响,如存储的数据、可能需要的其他连接、索引等。如果您能提

Sql 专家仲裁者的眼光。也许这是dbenham在获得+50赏金(不是顶部标记为已接受的赏金)的答案中描述的左连接快速性能的罕见场景。您给出的示例与实际应用相差很远,而在实际示例中,性能可能会受到其他因素的影响,如存储的数据、可能需要的其他连接、索引等。如果您能提,sql,sql-server,join,Sql,Sql Server,Join,专家仲裁者的眼光。也许这是dbenham在获得+50赏金(不是顶部标记为已接受的赏金)的答案中描述的左连接快速性能的罕见场景。您给出的示例与实际应用相差很远,而在实际示例中,性能可能会受到其他因素的影响,如存储的数据、可能需要的其他连接、索引等。如果您能提供更多详细信息,以及为什么需要提高性能,它可能会帮助您获得更好的答案。为什么需要为输出中的所有行分配相同的值?在这种情况下,您是否需要该列中的其他值来更改所需的联接(这将影响整个查询计划,使示例无效)?也许我遗漏了一些明显的信息,但是,您对A.


专家仲裁者的眼光。也许这是dbenham在获得+50赏金(不是顶部标记为已接受的赏金)的答案中描述的左连接快速性能的罕见场景。您给出的示例与实际应用相差很远,而在实际示例中,性能可能会受到其他因素的影响,如存储的数据、可能需要的其他连接、索引等。如果您能提供更多详细信息,以及为什么需要提高性能,它可能会帮助您获得更好的答案。为什么需要为输出中的所有行分配相同的值?在这种情况下,您是否需要该列中的其他值来更改所需的联接(这将影响整个查询计划,使示例无效)?也许我遗漏了一些明显的信息,但是,您对A.ID B.NewColumn的外部联接的联接条件将导致数据集中的额外列始终具有空值,这与原始要求背道而驰?尽管选择所有列可能会导致查找,但仅通过从(覆盖)索引;显式选择所有字段与通过*符号隐式选择字段没有任何区别。
SELECT A.*, 'Value' as NewColumn,
FROM Table1 A
WITH B AS (SELECT 'Value' as 'NewColumn')
SELECT * Table1 A
LEFT JOIN B
ON A.ID <> B.NewColumn
WITH B AS (SELECT 'Value' as NewColumn)
SELECT *
FROM Table1 A CROSS JOIN
     B;
SELECT A.*, B.*,
FROM Table1 A
CROSS APPLY(SELECT 'Value' as 'NewColumn') B
SELECT A.*, 'Value' as NewColumn
INTO #Table1Assign
FROM Table1 A
WITH B AS (SELECT 'Value' as 'NewColumn')
SELECT * Table1 A
INTO #Table1Join
LEFT JOIN B
ON A.ID <> B.NewColumn
Declare @t table(id int,c2 varchar(10))
INSERT INTO @T
select 1,'A' union all
select 2,'A' union all
select 3,'B' union all
select 4,'B' 

Declare @t1 table(nEWcOL varchar(10))
INSERT INTO @T1 Values('Value')

-- #Approach1
--SELECT * FROM @T outer apply
 --@t1

--Create index on both join column
 --#Approach2
SELECT * FROM @T A inner join
 @t1 b on a.c2<>b.nEWcOL

--#Approach3
Declare @value varchar(20)
Select @value= nEWcOL from @t1

select *,@value value from @t
DECLARE @Value VARCHAR(30) = 'Value'
SELECT t.Id, t.C2, @Value NewColumn
FROM Table1 t