我目前正在爲一個數周的數據庫考試而學習,他們提供的過去的論文(沒有答案)給了我一些問題。無法弄清楚如何完成sql語句
我很關心下面的問題,因爲如果我以正確的方式接近他們,我沒有什麼可檢查的,所以我想知道這裏有人能否看看並幫我解決問題?我是否以正確的方式回答了他們?
謝謝...
有3個表中下面的模式,
Suppliers (sid(PK):integer, sname:string, address:string)
Parts (pid(PK):integer, pname:string, color:string)
Catalog (sid(PK):integer, pid:integer, cost:real)
目錄關係列出了供應商提供的零部件價格。
我有以下問題,我的回答是以下:
零部件清單的pnames對此有一些供應商
SELECT pname FROM Parts, Catalog WHERE Parts.pid = Catalog.pid AND Catalog.sid = Suppliers.sid AND Catalog.sid NOT NULL;
查找供應商誰提供一個紅色的小島嶼發展中國家部分或綠色部分
SELECT sid FROM Catalog, Parts WHERE Catalog.pid = Parts.pid AND Parts.color = 'red' OR Parts.color = 'green';
查找supp的腳本誰收取更多的某些部分比部分的平均成本liers(平均超過所有誰提供的那部分供應商)
SELECT sid FROM Catalog WHERE cost > (AVG(cost));
沒有必要重複WHERE語句。它從'WHERE'開始,所有其他條件都添加了'AND'或'OR'運算符。 – Sebas
好的,謝謝你的提示,我不確定是否必須再說一遍。除此之外,它看起來不錯嗎? – user2288946
hmm,您在條件(WHERE)或SELECT中使用的所有表必須包含在FROM語句中,如果有多個表,則會將它們連接在一起。 – Sebas