SQL練習問題 – 問10


SQLの練習問題です。

筆者の環境は以下となっていますが、別のデータベースやツールでもほとんど同じように動作すると思います。

  • MariaDB 5.5.48
  • MySQL Workbench 6.3 ← 現在、お試し期間中です。

よくわからないという方は、XAMPをインストールすると簡単に筆者と同じ環境を構築できます。以下のサイトで紹介されています。
WINDOWS XAMPP にて LARAVEL をインストール (XAMPP V1.8.3インストール)

問題として使用するデータは以下からダウンロード可能です。phpMyAdminからデータベース(worldcup2014)を作成しインポートしておいてください。
worldcup2014.zip

※2016/7/15 追記※
データに誤りがあったためデータを修正し、正しいファイルに置き換えを行いました。
改めてDBの再構築をお願いします。


問題:オウンゴールの回数を表示する

(オウンゴールはgoalsテーブルのplayer_id列がNULLのものになります)

WS000010

正解:

SELECT COUNT(g.goal_time)
FROM goals  g
WHERE g.player_id IS NULL;

NULLの値を検索する場合には、イコール(=)ではなくIS演算子を使用します。
基礎ですが意外と間違えやすいですので注意しましょう。

※公式記録ではブラジルワールドカップのオウンゴールは4回だそうです。
SQLの実行結果と異なってしまっていますが、これはデータの問題ですので追って対応したいと思います。

※2016/7/15 追記※
公式記録ではブラジルワールドカップのオウンゴールは5回のようです。

← SQL練習問題 一覧まとめに戻る

  • このエントリーをはてなブックマークに追加

PAGE TOP