InterBase クイック スタート:Part IV - DISTINCT で重複行を取り除く
提供: InterBase
InterBase クイック スタート:Part IV - データの抽出 へ戻る
列には、しばしば重複エントリが含まれることがあります。DISTINCT
キーワードにより、その結果から重複する値を削除することができます。識別された(異なる)値のみを抽出することができます。
それぞれに対して 1 つずつ選択する
Job
テーブルからすべてのジョブ コードを取得したい場合には、次のクエリを使用します:SELECT job_code FROM Job
ご覧のとおり、このクエリの結果には多くの値が含まれており、それらをいくつかは重複しています。その結果から重複する値を削除するには、
DISTINCT
キーワードを使用しなければなりません。- 以前のクエリを編集して、
DISTINCT
キーワードを入れます:SELECT DISTINCT job_code FROM Job
これにより、希望する結果が生成され、各ジョブ コードはそれぞれ一度だけ一覧に現れるようになります。
- ではここで、
DISTINCT
キーワードを使用して 2 つの列を指定するクエリを入力してみましょう:SELECT DISTINCT job_code, job_grade FROM Job
DISTINCT
は、SELECT
文の中で指定したすべての列に対して適用されます。この場合、結果には重複するジョブ コードを現れます。これは、DISTINCT
がjob_code
とjob_grade
を一緒に扱っているためで、結果での値の組み合わせが区別できる(重複していない)からです。このクエリの想定される結果は、下の図のようになります: