做左连接的符号(如* =)是什么? 我有表A和B,即使表B中没有记录,也必须始终返回表A的所有记录。T-SQL左连接符号
0
A
回答
3
您不应该使用该运算符,因为它的was deprecated in Sql Server 2008,并且将在未来的版本。
您应该使用符合ANSI标准的LEFT JOIN
或LEFT OUTER JOIN
。
它被弃用的原因。该运算符的语法很混乱(它与许多语言的“multiply and assign”的标准超载相冲突)并且是非标准的。
5
这是新的ansi标准语法,更加清晰imo。
SELECT *
FROM A
LEFT OUTER JOIN B
ON A.ID = B.ID
0
避免任何古老的语法。重写它包括新的 “LEFT OUTER JOIN” 和/或 “RIGHT OUTER JOIN” 语法:
SELECT
a.*, B.*
FROM TableA a
LEFT OUTER JOIN TableB b ON a.id=b.id
Difference between * = and LEFT Outer Join
从链接:
在早期版本的Microsoft®SQL 的SERVERT 2000,左右外部 连接条件被指定在 WHERE子句中使用
*=
和=*
运算符。在某些情况下,该语法 会导致模糊的查询,可能会以多种方式解释该查询。 符合SQL-92的外连接在FROM子句中指定的 ,并且执行 不会导致此歧义。因为 SQL-92语法更加精确,因此 旧版Transact-SQL外连接语法中使用的 WHERE子句不包括在 此发行版中。未来版本的SQL 服务器支持的语法可能不是 。使用 Transact-SQL外的任何语句联接应 改为使用SQL-92语法
0
除此之外的是,使用ANSI标准语法LEFT [OUTER] JOIN的用于连接简化了查找错误很多,相信我。 它还允许在WHERE子句中的过滤器和连接操作数之间有更明确的区分。 我会建议也使用ANSI语法进行内部连接。
相关问题
- 1. Linq - 带点符号的左外连接
- 2. SQL:左连接左连接结果左连接左连接/右连接
- 3. 左连接字符+连接值
- 4. TSQL删除连接字符串中的最后一个逗号
- 5. 左连接字符串
- 6. TSQL连接参数
- 7. 将左连接转换为左连接
- 8. TSQL - 将两个虚拟表与左外部连接相结合
- 9. LINQ左连接与分组并具有转换这个TSQL
- 10. TSQL - 唯一地左连接表的不同行
- 11. TSQL:增加一个选择到左外连接
- 12. TSQL左连接:无论匹配显示结果
- 13. 右连接与左连接
- 14. 左连接和右连接
- 15. 双左连接
- 16. Lambda左连接
- 17. GreenDAO左连接
- 18. 或左连接
- 19. Qcubed左连接
- 20. 左连接表
- 21. TSql xml query连接值
- 22. FreeTDS-tsql连接,isql失败
- 23. tsql内部合并连接
- 24. 多列的TSQL连接
- 25. 左连接上的内部连接使左连接表现为内连接
- 26. 符号连接的MAC
- 27. 连接数和符号
- 28. 符号连接的Windows
- 29. 使用符号连接
- 30. 连接(的QObject *,信号(信号()),算符)不QT5连接