我正在查看关于LEFT JOIN
的“SQL标准指南”(C.J.Date/Hugh Darwen)的一节,它给出了以下语法:
table-reference [ NATURAL ] outer-join-type
JOIN table-reference
[ ON conditional-expression
| USING ( column-commalist ) ]
什么是USING
?
有用吗?
它是在SQL-Server
中实现的吗?
答案 0 :(得分: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)
答案 1 :(得分:3)
不,SQL Server(或Sybase)不支持联接的USING
子句。您需要继续使用ON
条款。
在MSDN上有一个请求让它实现here - 但是正如2006年建议但尚未实现的那样,我不会屏住呼吸!