AI & Data Dreamers練功房
寶箱片場規則
QUERY GATES・資料庫關卡・初階・4 題

SQL 初階・子查詢與 LEFT JOIN

這一頁是題幹試閱;登入/註冊後每題可以在瀏覽器裡執行、對答案,第一次交對 +10 XP。

  1. 01

    每種類最貴

    容易

    查詢每個種類(catalog)中價格最高的食物,欄位依序 catalog、name、price,依 catalog 排序。提示:用相關子查詢比對「同種類的最高價」。

    資料表 food:id 編號(文字,主鍵)、name 名稱(文字)、expiredate 到期日(文字,格式 'YYYY-MM-DD')、placeid 產地編號(文字)、price 價格(整數)、catalog 種類(文字)。

    資料表 place:id 產地編號(文字,主鍵)、name 產地名稱(文字)。

    作答登入後可作答
  2. 02

    沒有食物的產地

    容易

    找出沒有任何食物的產地,輸出 place.id 與 place.name。用 LEFT JOIN 配合 IS NULL(或 NOT EXISTS)。

    資料表 food:id 編號(文字,主鍵)、name 名稱(文字)、expiredate 到期日(文字,格式 'YYYY-MM-DD')、placeid 產地編號(文字)、price 價格(整數)、catalog 種類(文字)。

    資料表 place:id 產地編號(文字,主鍵)、name 產地名稱(文字)。

    作答登入後可作答
  3. 03

    每產地食物數含零

    中等

    統計每個產地的食物數量,沒有食物的產地也要列出(數量 0)。欄位依序 place.id、place.name、數量,依 place.id 排序。

    資料表 food:id 編號(文字,主鍵)、name 名稱(文字)、expiredate 到期日(文字,格式 'YYYY-MM-DD')、placeid 產地編號(文字)、price 價格(整數)、catalog 種類(文字)。

    資料表 place:id 產地編號(文字,主鍵)、name 產地名稱(文字)。

    作答登入後可作答
  4. 04

    到期狀態分組

    中等

    以 2019-01-01 為基準日,把食物分成三種狀態:到期日早於 2019-01-01 → 已過期;2019 年內到期 → 今年到期;其餘 → 未到期。統計每種狀態的食物數,欄位依序 狀態、數量,依「各組最早到期日」由早到晚排序(也就是 已過期、今年到期、未到期 的順序)。

    資料表 food:id 編號(文字,主鍵)、name 名稱(文字)、expiredate 到期日(文字,格式 'YYYY-MM-DD')、placeid 產地編號(文字)、price 價格(整數)、catalog 種類(文字)。

    資料表 place:id 產地編號(文字,主鍵)、name 產地名稱(文字)。

    作答登入後可作答