2011-05-13 37 views

回答

33
select d.Name as DogName, o.Name 
from Dog d 
inner join Owner o on d.OwnerID = o.OwnerID 
+0

'所有者o'(第三行)如何與'所有者作爲o'不同? – FRD 2013-06-03 07:27:38

+0

@FRD這只是做同樣事情的縮寫。 – RedFilter 2013-06-03 11:36:51

0

是的,您可以重新命名連接輸出中的列,即所謂的別名。但是,它們相同的事實不會引起任何問題;他們只需要完全合格。

9

是的,你可以,但你必須列出所有字段,而不是使用select *的:

select o.*, d.* 
     from owner o 
inner join (select dog_id, name as dog_name, breed, age, owner_id from dog) d 
    on o.owner_id = d.owner_id 
+1

但是,無論如何,你應該使用Select *,所以這不是一個真正的損失。 – AllenG 2011-05-13 15:57:43

0

你可以給任何別名爲列,但沒有像別名一些規則必須不是SQL Server的關鍵詞,它不能包含空格,如果你想要空間,那麼它應該在[]中,你不能使用一些符號來替代別名。

例如: - 選擇owner.Id作爲[Int],所有者。狗, 從業主內部連接Gog On Owner.Id =狗.Id