羅德興老師的教學歷程檔案 - 101-1 夜二技資三甲 資料庫系統實作 - Database 期中測驗與解答
 

企業資訊與管理系
助理教授/日導
羅德興


歷程檔案 Portfolio

    Database 期中測驗與解答

     

    S_ID

    S_ADDR

    1

    北市研究院路

    2

    宜蘭市中正路1

    3

    基隆市

     

     

     

     

     

     

     

    P_ID

    P_cost

    P01

    100

    P02

    250

    P03

    350

    P04

    400

     

     

     

     

     

     

    S_ID

    P_ID

    Qty

    1

    P01

    200

    1

    P02

    300

    1

    P03

    300

    2

    P04

    400

    2

    P03

    500

    3

    P01

    1000

     


     

     

    Database 期中測驗   學號:      姓名:

     

    1.      列出 SP 資料表(Relation)S#(以供應商做為別名)P#QTY(以供應量做為別名),產生到一張新的資料表tempa
    create table tempa

    (select S_ID as '供應商', P_ID, qty as '供應量' from SP);

     

    供應商

    P_ID

    供應量

    1

    P01

    200

    1

    P02

    300

    1

    P03

    300

    2

    P04

    400

    2

    P03

    500

    3

    P01

    1000

     

    2.      列出 供應商之供應總金額加總(P#之供應量*成本價Cost)大於1,000者之供應商。
    Select SP.S_ID, Sum(SP.Qty*Product.P_Cost) as Total

    from SP join Product on SP.P_ID = Product.P_ID

    Group by SP.S_ID

    Having Total > 1000

    Order by Total;

     

    S_ID

    Total

    3

    100000

    1

    200000

    2

    335000

     

    3. 列出 SP 資料表中,各P#(產品編號)之供應量加總。
    Select P_ID, sum(Qty) as '總供應量' from SP

    Group by P_ID

    Order by P_ID;

     
    P_ID總供應量
    P011200
    P02300
    P03800
    P04400

    4.
      按供應商 由小到大排序,列出 SP 資料表中所有資料列。
    Select * from SP

    Order by S_ID ASC;

     

    S_IDP_IDQty
    1P01200
    1P02300
    1P03300
    2P04400
    2P03500
    3P011000

     

    5. 列出 P 資料表中,已被訂購者的P#(產品編號)
    Select P_ID as '產品編號'from Product

    where P_ID in (Select P_ID from SP);

     

    產品編號

    P01

    P02

    P03

    P04

     

     

    6. 下列SQL可完成什麼?

            SELECT O.S_ID,sum(O.qty*P.P_cost) AS Total FROM SP O, Product P

            WHERE O.P_ID=P.P_ID

            GROUP BY O.S_ID

            ORDER BY Total DESC;

     

    S_ID

    Total

    2

    335000

    1

    200000

    3

    100000

     

    7. 列出有訂購P03 號產品者(P#=P03)S# addr(住址)
    Select S.* from SP O join Supplier S on O.S_ID = S.S_ID

    where O.P_ID = 'P03';

     

    S_ID

    S_ADDR

    1

    北市研究院路

    2

    宜蘭市中正路1

     

    8.   列出供應總金額加總為前幾名者的S#,P#,qty,cost,與供應總金額加總。
    SELECT O.S_ID, P.P_ID, sum(O.qty) as qty, P.P_cost ,sum(O.qty*P.P_cost) AS Total

    FROM SP O join Product P on O.P_ID=P.P_ID

    GROUP BY O.S_ID

    ORDER BY Total DESC

    limit 2;

     

    S_ID

    P_ID

    qty

    P_cost

    Total

    2

    P04

    900

    400

    335000

    1

    P01

    800

    100

    200000

     


     

    9. 列出 有訂購產品 加上條件 的廠商編號與地址。
    Select * from Supplier

    where S_ID in (Select S_ID from SP) AND S_ID >='S02';

     

    S_ID

    S_ADDR

    2

    宜蘭市中正路1

    3

    基隆市

     

    10. 下列SQL可完成什麼? SELECT * FROM `Product` WHERE 1

    P_ID

    P_cost

    P01

    100

    P02

    250

    P03

    350

    P04

    400

     

    全部共 0則留言
    登入帳號密碼代表遵守學術網路規範


    文章分類 Labels


    最新文章 Top10

    中華科技大學數位化學習歷程 - 意見反應