資料庫基礎

員工表格的部門欄位中,由上而下依序為 業務、研發、業務、總務、研發、業務(共6筆)。SELECT DISTINCT 部門 FROM 員工 的結果有幾筆資料列?

  1. A2筆
  2. B3筆
  3. C6筆
查看答案與解析

正確答案:B. 3筆

DISTINCT會從結果中去除重複的資料列,把相同的值合併成一筆。部門的值有業務、研發、總務3種,因此結果為3筆。若不加DISTINCT而執行 SELECT 部門 FROM 員工,會連同重複的值原樣傳回6筆。2筆是只計算出現2次以上之部門(業務與研發)時的數目,相當於 SELECT 部門 FROM 員工 GROUP BY 部門 HAVING COUNT(*) >= 2 這類查詢的結果。

  • A. 這是只計算出現2次以上的業務與研發的數目。只出現1次的總務也會保留為一筆。
  • B. 正確。去除重複後剩下業務、研發、總務3筆。
  • C. 這是不加DISTINCT時的筆數。
練習這個領域 前往領域頁面

相關計算工具

資料庫基礎的其他題目

  1. 在SQL中不加WHERE子句執行 DELETE FROM 員工,結果何者正確?
  2. 考試表格的分數欄位中有 80、NULL、70、90 共4個值(NULL表示未應考)。SELECT AVG(分數) FROM 考試 的結果是下列何者?
  3. 成績表格的分數欄位中有 50、NULL、70、NULL、90、30 共6個值。依序列出 SELECT COUNT(*), COUNT(分數), AVG(分數) FROM 成績 之結果的是下列何者?
  4. 想從員工表格(員工編號, 部門, 薪資)中,求出各部門平均薪資在300以上的部門及其平均薪資。正確的SQL敘述是下列何者?
  5. 銷售表格(門市, 金額)中有(A, 500)、(A, 700)、(B, 300)、(B, 400)、(C, 1200)、(D, 200)、(D, 900)共7筆資料列。SELECT 門市, SUM(金額) FROM 銷售 GROUP BY 門市 HAVING SUM(金額) >= 1000 的結果有幾筆資料列?