moea_joint_essay
109年
[統計資訊] 資料庫及資料探勘、程式設計
第 一 題
📖 題組:
某公司的關聯式資料庫中包含下列 3 個表格,請用 SQL 語言列出下列查詢。(3 題,每題 5 分,共 15 分) 供應商資料表 Suppliers (SupplierID, SupplierName, ContactName, Address, City, PostalCode, Country, Phone),主鍵 SupplierID為供應商編號, SupplierName為供應商名稱, ContactName 為聯絡人, Address 為地址, City 為城市, PostalCode 為郵遞區號, Country 為國家, Phone 為電話 產品資料表 Products (ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued), 主鍵 ProductID 為產品編號, ProductName 為產品名稱, SupplierID 為供應商編號, CategoryID 為分類編號, QuantityPerUnit 為每單位數量, UnitPrice 為單價, UnitsInStock 為在庫量, UnitsOnOrder 為訂購量, ReorderLevel 為再訂購水準, Discontinued 為是否停產 分類資料表 Categories (CategoryID, CategoryName, Description),主鍵 CategoryID 為分類編號, CategoryName 為分類名稱, Description 為分類的描述
某公司的關聯式資料庫中包含下列 3 個表格,請用 SQL 語言列出下列查詢。(3 題,每題 5 分,共 15 分) 供應商資料表 Suppliers (SupplierID, SupplierName, ContactName, Address, City, PostalCode, Country, Phone),主鍵 SupplierID為供應商編號, SupplierName為供應商名稱, ContactName 為聯絡人, Address 為地址, City 為城市, PostalCode 為郵遞區號, Country 為國家, Phone 為電話 產品資料表 Products (ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued), 主鍵 ProductID 為產品編號, ProductName 為產品名稱, SupplierID 為供應商編號, CategoryID 為分類編號, QuantityPerUnit 為每單位數量, UnitPrice 為單價, UnitsInStock 為在庫量, UnitsOnOrder 為訂購量, ReorderLevel 為再訂購水準, Discontinued 為是否停產 分類資料表 Categories (CategoryID, CategoryName, Description),主鍵 CategoryID 為分類編號, CategoryName 為分類名稱, Description 為分類的描述
📝 此題為申論題,共 3 小題
小題 (一)
找出位在相同城市的供應商編號,供應商名稱,以及城市。
思路引導 VIP
需找出同一城市有複數供應商的情形,可利用 COUNT 或 GROUP BY 找出數量大於1的城市,再以子查詢篩選;或使用 Self Join。
小題 (二)
找出最大在庫量的產品編號,產品名稱,分類名稱,供應商編號,供應商名稱,在庫量,聯絡人。
思路引導 VIP
先取得產品表中最大的在庫量 (MAX(UnitsInStock)),然後將這三張表透過 JOIN 關聯起來並篩選在庫量等同於最大值的記錄。
小題 (三)
找出已經停產(Discontinued的值為1)的產品,但是其訂購總量不等於0的供應商編號,供應商名稱,以及其所停產的產品的品項數。
思路引導 VIP
利用條件 Discontinued = 1 及各供應商的 SUM(UnitsOnOrder) <> 0 篩選出供應商。需 JOIN Products 表與 Suppliers 表,並計算符合停產條件的 ProductID 個數。