解答つきデータベースと SQLワークシート

無料で印刷できるデータベースと SQLのワークシート:やさしい問題から試験レベルまで 8 問、解答つき。印刷するか PDF で保存できます。

先生方へ: 授業で自由に印刷・コピーしてお使いいただけます。新しいワークシートごとに数値が変わり、専用の解答が付きます。授業ページに ExamProblems へのリンクを載せていただけると嬉しいです。

名前: ____________________   日付: ____________

1.やさしい

LIKE のパターンで、ワイルドカード % は何を表しますか?

  1. A0 文字以上の任意の文字列
  2. B文字列の終わり
  3. C任意の 1 桁の数字
  4. D文字列のその位置にあるちょうど 1 文字
2.やさしい

INNER JOIN が返すのは次のうちどれですか?

  1. A左テーブルのすべての行。一致がない場合は NULL が入る
  2. B一致しない行
  3. C両方のテーブルで値が一致する行のみ
  4. D両方のテーブルのすべての行
3.やさしい

グループ化の前に行を絞り込む句はどれですか?

  1. AORDER BY
  2. BHAVING
  3. CGROUP BY
  4. DWHERE
4.ふつう

EXCEPT(Oracle では MINUS)は何を返しますか?

  1. A1 つ目のクエリの行のうち、2 つ目に現れないもの
  2. B2 つ目のクエリの行のうち、1 つ目に現れないもの
  3. C両方のクエリに現れる行
  4. D両方のクエリのすべての行(重複なし)
5.ふつう

関係代数で、射影演算子(π)は何に対応しますか?

  1. A与えられた条件を満たす行を選ぶこと
  2. B結果に現れる列を選ぶこと
  3. C2 つのテーブルをキーで組み合わせること
  4. D結果を並べ替えること
6.ふつう

一度も注文したことのない顧客を一覧にするクエリはどれですか?

  1. ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
  2. BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
  3. CSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  4. DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
7.むずかしい

SELECT day, SUM(amount) OVER (ORDER BY day) FROM sales は何を計算しますか?

  1. Aその日の合計だけを持つ、1 日 1 行
  2. Bday の順に並べた amount の累計
  3. C1 日あたりの平均 amount
  4. Dすべての行に全 amount の合計
8.むずかしい

各パーティション内の行に、同順位なしで 1, 2, 3, ... を割り当てるウィンドウ関数はどれですか?

  1. AROW_NUMBER()
  2. BCOUNT()
  3. CDENSE_RANK()
  4. DRANK()

解答

  1. 1. A · 0 文字以上の任意の文字列
  2. 2. C · 両方のテーブルで値が一致する行のみ
  3. 3. D · WHERE
  4. 4. A · 1 つ目のクエリの行のうち、2 つ目に現れないもの
  5. 5. B · 結果に現れる列を選ぶこと
  6. 6. D · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  7. 7. B · day の順に並べた amount の累計
  8. 8. A · ROW_NUMBER()

ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。