< 上一個課程 | 下一個課程 >

指定結果直欄

在此練習中,您會指定要在查詢結果中顯示的直欄。店員需要檢視客戶名稱、客戶租借之每部影片的標題、以及每部影片應於星期幾歸還。您可以併入兩個直欄,並為第三個結果直欄新增 CASE 表示式,然後為 CASE 直欄表示式指派別名。

選取結果直欄集的直欄

您會為客戶名稱與影片標題新增下列直欄至結果直欄集:
  • CUSTOMERS 表格中的 NAME 直欄
  • VIDEOS 表格中的 TITLE 直欄

若要選取結果直欄集的直欄:

  1. 在「表格」窗格中,選取 C (CUSTOMER) 表格中的 NAME 勾選框。
  2. 在「設計」窗格中的「直欄」頁面上,按兩下直欄直欄中的第一個空白儲存格,再按一下清單中的 V.TITLE,然後按 Enter 鍵。 這些直欄會新增至「SQL 程式碼」窗格中的 SQL 程式碼中。

新增 CASE 表示式至結果直欄集

查詢結果集的第三個直欄將是直欄表示式的結果。影視商店資料庫會以 DATE 格式儲存應歸還影片的日期。DATE 格式必須要轉換為包含影片歸還日之日期名稱的字串。資料庫函數會從對應於星期幾的日期取得一個整數。您將使用 CASE 表示式評估函數,然後將函數所傳回的整數轉換成代表星期幾的字串 (例如,1 在查詢結果中會變更為「星期日」)。
您將執行下列活動以建置 CASE 表示式:
  • 開啟「表示式建置器」精靈。
  • 建立簡式類型 CASE 表示式。
  • 新增 DAYOFWEEK 函數供 CASE 表示式評估。DAYOFWEEK 函數可讓您從 DATE 直欄取得日期 (星期幾)。 此函數會傳回對應於星期幾的一個整數。
  • 新增 WHEN 子句,以產生 CASE 表示式的結果。

若要新增 CASE 表示式:

  1. 在「設計」窗格中的「直欄」頁面上,按兩下直欄直欄中的第三個儲存格 (第一個空白儲存格),再按一下清單結尾處的建置表示式,然後按 Enter 鍵。 「表示式建置器」精靈會隨即開啟。
  2. 建立簡式類型 CASE 表示式。
    1. 在「表示式類型」頁面上,按一下 CASE - 搜尋或簡式,然後按下一步
    2. 在「CASE 選項」頁面上,按一下 Simple-WHEN-Clause,然後按下一步
  3. 新增 DAYOFWEEK 函數:
    1. 在「簡式 CASE 表示式」頁面上的 CASE 清單中,按一下建置函數表示式 「函數表示式建置器」精靈會隨即開啟。
    2. 選取函數種類清單中,按一下日期和時間
    3. 選取函數清單中,按一下 DAYOFWEEK
    4. 選取函數表示法清單中,按一下 DAYOFWEEK(DATE) --> INTEGER 函數表示法顯示函數需要一個引數。
    5. 在引數表格的直欄中按兩下儲存格,再按一下清單中的 R.DATE,然後按 Enter 鍵。 函數表示式的語法為 DAYOFWEEK(DATE),如下列影像的區段 5 所示:

      函數表示式建置器精靈

      請注意,您所選取之 DATE 直欄的 R 表格限定元不會顯示在此精靈中。它會在您回到「SQL 查詢建置器」時顯示於表示式中。
    6. 按一下完成,以繼續建構 CASE 表示式。
    7. CASE 清單中,選取 DAYOFWEEK(DATE)
  4. 新增七個 WHEN 子句至 CASE 表示式 (供一週七天使用),以將 DAYOFWEEK 函數傳回的整數轉換成字串。 下表顯示 DAYOFWEEK 函數傳回的每個值所需的字串:
    表 1. DAYOFWEEK 值與產生的字串
    DAYOFWEEK 值 產生的字串
    1 'Sunday'
    2 'Monday'
    3 'Tuesday'
    4 'Wednesday'
    5 'Thursday'
    6 'Friday'
    7 'Saturday'
    1. 在表格中,按兩下 WHEN 右側的表示式直欄中的空白儲存格,然後輸入整數 1 當您在此表格以及其他與「SQL 查詢建置器」相關聯的表格中輸入資料時,若要讓輸入項目生效,在儲存格中鍵入值後,您必須按 Enter,或將焦點切換至其他儲存格。
    2. 按兩下 THEN 右側的結果表示式直欄中的空白儲存格,然後輸入字串 'Sunday'
    3. 對於一週中的其餘六天,請按一下新增 WHEN 子句,然後重複步驟 4a 與 4b,使您的表格如下列影像所示:

      已完成的 WHEN 子句表格

    4. 按一下完成,以關閉「表示式建置器」精靈。
已完成的 CASE 表示式會在「設計」窗格的「直欄」頁面上顯示於直欄表示式的清單中,也會顯示在 SQL 陳述式來源中。

新增直欄別名

在 customerRentals SQL 陳述式中,您將為 CASE 直欄表示式新增直欄別名。您將會使用「SQL 查詢建置器」之「設計」窗格中的「直欄」頁面。

若要新增直欄別名:

  1. 按一下「設計」窗格中的直欄
  2. 在 CASE 直欄表示式旁按一下別名直欄中的儲存格, 然後輸入 DUEDAY 在「SQL 程式碼」窗格中,直欄別名 AS DUEDAY 會顯示在 CASE 表示式之後。當您執行查詢時,此別名會在結果表格中呈現為直欄的標題。
「直欄」頁面此時將如下列影像所示:

設計窗格 - 已完成的直欄頁面

< 上一個課程 | 下一個課程 >

讀者意見