想請教SQL語法的問題

若有一關聯表如下:

Supplier
--------------------------------------
S# SNAME STATUS CITY
--------------------------------------
S1 趙一 10 台北
S2 錢二 20 新竹

若要查詢供應商名字為錢二的所有屬性:

SELECT S.*
FROM S
WHERE SNAME='錢二'

上述的語法跟下列

SELECT *
FROM S
WHERE SNAME='錢二'

答案是否相同?

我比較疑惑的地方是在SELECT S.*跟SELECT *,這兩種表示方式是否表示一樣的意思?
2009-06-29 20:40 發佈
在這種簡單的Scenario
是一樣的


通常會寫* 而不是S.*
因為S.* 會用在 你的 Select 資料 來自一個以上的Table

例:
Table A, Employee
e_sid, e_name, e_addr, e_phone, e_dep

Table B, Department
d_sid, d_name

select A.e_name, B.d_name from Employee A, Department B where B.d_sid = A.e_dep



(還有對於某些DB來說,像是"低逼吐",他們比較喜歡 Fully Qualified Name。也就是 <Schema_Name>.<Table_Name>.<Column_Name> )
那再請教

Book(書籍名稱,書籍種類,書籍定價,作者姓名,出版商地址,出版商)

功能相依性為:書籍名稱->{作者姓名,書籍種類} 書籍種類->書籍定價 出版商->書版商地址

Book這個關聯表的所有候選鍵?

答案是否為:

{書籍名稱,書籍種類}

{書籍名稱,作者姓名}
可以那麼說


可是從整體來考量的話
這樣的Table分法似乎有進步空間
這也要看實際應用的情況而定

至於正規劃來說 作者姓名,出版商地址,出版商 兩個table都有重複到
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?