2

我正在查看“SQL 标准指南”(CJDate/Hugh Darwen)的一部分LEFT JOIN,它提供了以下语法:

table-reference [ NATURAL ] outer-join-type
                            JOIN table-reference
                           [ ON conditional-expression   
                           | USING ( column-commalist ) ]

是什么USING
有用吗?
它在 中实施SQL-Server吗?

4

2 回答 2

4

不,SQL Server 不支持,请参阅FROM

<joined_table> ::= 
{
    <table_source> <join_type> <table_source> ON <search_condition> 
    | <table_source> CROSS JOIN <table_source> 
    | left_table_source { CROSS | OUTER } APPLY right_table_source 
    | [ ( ] <joined_table> [ ) ] 
}

至于它是什么?这是一种在两个表之间执行连接的方法,其中两个表中的列名完全匹配,并且为了方便起见,它只允许您对列命名一次。将其与使用ON来实现相同的结果进行比较:

ON
   table1.columnA = table2.columnA AND
   table1.columnB = table2.columnB AND
   table1.columnC = table2.columnC

USING只是:

USING (columnA,columnB,columnC)
于 2013-08-30T07:52:12.573 回答
3

不,USINGSQL Server(或 Sybase)不支持连接子句。您需要继续使用ON子句。

MSDN connect 上有一个请求在此处实施- 但正如 2006 年提出的但尚未实施的那样,我不会屏住呼吸!

于 2013-08-30T07:52:21.157 回答