我正在研究一个SQL语句,只是想澄清一下我对MS SQL中连接语法的理解。
说我有SQL ...
select t.year from HOUSE AS h
LEFT OUTER JOIN SUBJECT K
ON H.Name = K.Name
INNER JOIN TESTCASE AS T
ON k.year IS NOT NULL
很抱歉这个令人困惑的例子,但基本上 - 为什么我可以在没有关键字LEFT OUTER JOIN SUBJECT K
的情况下使用AS
而使用INNER JOIN
,我需要使用关键字{{1} } AS
?
答案 0 :(得分:4)
'AS'在这两种情况下都不是必需的,但从可读性的角度来看,我个人更喜欢它,因为它准确地传达了你的意思。
答案 1 :(得分:1)
据我所知,AS仅用于简单编码。您可以为表创建更小或更清晰的名称。所以House为H,在查询中你可以使用H.Name而不是输入House.Name
答案 2 :(得分:0)
我认为'AS'曾经是必需的关键字,但不再需要,只是为了便于阅读。我发现在SELECT
中为数据项创建名称时经常使用“As”,但在为JOIN
中的表名提供名称时却不会。例如:
SELECT t.ID as TestID FROM [House] h JOIN [TestCase] t ON t.ID=h.TestID
我认为这可能是因为显示没有“As”的一组数据项可能会混淆有多少项,以及有多少只是应用于它们的名称。
答案 3 :(得分:0)
虽然AS关键字很有用但很有意思...假设有两个表有名称,你可以从代码中的查询中获取它,然后将列名更改为唯一的名称很酷。