ALEX 發問時間: 電腦與網際網路程式設計 · 1 0 年前

這是一個資料結構問題....該怎麼解答呢??

請說明下列SQL指令中每一行的意義與作用

SELECT x.company,y.order_date,y.shipped_on;

FROM customer x,orders y;

WHERE x.cust_id=y.cust_id;

INTO TABLE custship.dbf

2 個解答

評分
  • 1 0 年前
    最佳解答

    SELECT x.company,y.order_date,y.shipped_on

    選出 customer表格中的company欄位,orders表格中的date欄位,以及orders表格中的shipping_on欄位

    FROM customer x,orders y

    從 customer表格和orders表格

    WHERE x.cust_id=y.cust_id

    當customer表格內的cust_id欄跟orders表格內的cust_id欄相等時

    INTO TABLE custship.dbf

    放入custship.dbf表格中

    合在一起講,意思是:

    從customer和orders這兩個表格中找出公司名、訂購日期、以及出貨日期,並將結果放入custship.dbf這個表格中。

  • 1 0 年前

    (1) 先從 FROM 開始

    將 customer 表格取個別名 x,orders 表格取個別名 y;兩個表格做 inner join(笛卡兒乘積)。

    (2) 再來是 WHERE

    從 (1) 的笛卡兒乘積中過濾出 x.cust_id 欄位(即 customer 表格中的 cust_id 欄位) 與 y.cust_id 欄位(即 orders 表格中的 cust_id 欄位)欄位值相等的列錄集合(Result Set)。

    (3) 繼續是 SELECT

    從 (2) 所產生的所有列錄集合中擷取(Project)出 x.company、y.order_date 與 y.shipped_on 欄位。

    (4) 最後是 INTO TABLE custship.dbf

    建立一個新的表格 custship.dbf 來存放 (3) 所產生出的列錄集合。

    參考資料:
還有問題?馬上發問,尋求解答。