始める無料で始める

SELECT COUNT DISTINCT でキーを特定する

既存のデータが入ったテーブルで、キーに該当するものを見つけるためのごく基本的な方法を紹介します。

  1. すべての列の組み合わせについて、重複のないレコード数を数えます。ある組み合わせで得られた数値 x がテーブルの全行数と等しければ、それはスーパーキーです。

  2. 次に、列を1つずつ削除していき、列を削除しても数値 x が減らなくなるまで続けます。その状態になったら、(候補)キーを見つけたことになります。

テーブル professors には551行あります。このテーブルには候補キーが1つだけあり、2つの属性の組み合わせで構成されています。「コードを実行」ボタンを使って、さまざまな組み合わせを試してみてください。解答が見つかったら、回答を送信してください。

この演習はコースの一部です

SQL リレーショナルデータベース入門

コースを見る

演習の手順

上記の手順に従い、さまざまな列の組み合わせを試して候補キーを特定しましょう。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

-- Try out different combinations
___ COUNT(___(___)) 
FROM professors;
コードを編集して実行