2016-05-24 68 views
1

我試着用Google搜索但沒有結果。SQL Server:FLO.Tablename是什麼意思?

一段時間以來,我一直在研究其他人在多年前開始的舊項目。

今天在工作時,我遇到了這個數據訪問類與一些奇怪的查詢。

SELECT 
    FLO.LEFTOVER_DATE, FLO.LEFTOVER_ID, ANIM.ANIMAL_NUMBER 
FROM 
    FEED_LEFTOVERS AS FLO, ANIMALS AS ANIM 
WHERE 
    FLO.ANIMAL_ID = ANIM.ANIMAL_ID 

我不懂這行的是FLO.的含義。

我首先想到它只是表名的一部分,但它顯然不是(我確實檢查過)。谷歌搜索沒有向我提供任何有關它的信息。

因此,我想知道這裏有人能否給我一個解釋嗎?

+2

'FLO'是'FEED_LEFTOVERS'的別名。看到這裏:'FEED_LEFTOVERS作爲FLO'它不是「怪異」,這是完全正常的,廣泛使用:) – Pikoh

+0

@Pikoh謝謝你,我明顯錯過了。感謝解釋,現在感覺很有意義。 –

+2

[踢壞的習慣:使用舊式JOIN](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins。 aspx) - 在ANSI - ** 92 ** SQL標準(**超過20年前**)中,舊式*逗號分隔的表*樣式列表被替換爲* proper * ANSI'JOIN'語法它的使用是不鼓勵的 –

回答

2

這是一個alias在sql查詢中給予表的名稱。

如:爲表FEED_LEFTOVERS

別名是FLO。同樣ANIM對於ANIMALS

+0

非常感謝。我明顯忽略了這一點。一旦10分鐘結束,將標記爲答案! –

+1

歡迎@BlackLotus –

0

下面的查詢都是相似的。第一個是表別名和第二個沒有。

SELECT 
    FLO.LEFTOVER_DATE, FLO.LEFTOVER_ID, ANIM.ANIMAL_NUMBER 
FROM 
    FEED_LEFTOVERS AS FLO, ANIMALS AS ANIM 
WHERE 
    FLO.ANIMAL_ID = ANIM.ANIMAL_ID 

--Is similar as the below Query. 

SELECT 
    FEED_LEFTOVERS.LEFTOVER_DATE, FEED_LEFTOVERS.LEFTOVER_ID, ANIMALS.ANIMAL_NUMBER 
FROM 
    FEED_LEFTOVERS , ANIMALS 
WHERE 
    FEED_LEFTOVERS.ANIMAL_ID = ANIMALS.ANIMAL_ID