SQLにおけるDISTINCTキーワードの使い方と詳細解説

この記事では、SQLにおけるDISTINCTキーワードの使い方に焦点を当てます。具体的なコード例とその解説、応用例を含めています。DISTINCTキーワードを使うことで、クエリの結果から重複を削除できる方法を学びます。

目次

はじめに:DISTINCTキーワードとは

DISTINCTキーワードはSQLでよく用いられる機能の一つで、SELECT文の結果から重複する行を削除するために使用されます。多くのデータベースシステムでサポートされており、データ分析やレポート作成など多くの場面で重要な役割を果たします。

基本構文

DISTINCTキーワードの基本構文は非常にシンプルです。

SELECT DISTINCT 列名
FROM テーブル名;

基本的な使用例

単一列の重複を削除

以下は、`employees`テーブルから`position`列の値を選択し、その結果から重複を削除する基本的な例です。

-- position列の重複を削除
SELECT DISTINCT position
FROM employees;

複数列の重複を削除

複数列を指定することも可能です。この場合、指定したすべての列が合わせて一意になるように重複が削除されます。

-- positionとdepartment列の組み合わせで重複を削除
SELECT DISTINCT position, department
FROM employees;

応用例:DISTINCTと他のSQL機能との連携

DISTINCTとORDER BY

DISTINCTキーワードは、ORDER BY句と一緒に使用することができます。これにより、一意なレコードを特定の順序で取得することができます。

-- position列の重複を削除し、結果を昇順に並べる
SELECT DISTINCT position
FROM employees
ORDER BY position ASC;

DISTINCTとWHERE

WHERE句と組み合わせることで、特定の条件に一致するレコードから重複を削除することもできます。

-- departmentが'Sales'であるposition列の重複を削除
SELECT DISTINCT position
FROM employees
WHERE department = 'Sales';

演習問題とその解説

演習問題1

以下の`products`テーブルが与えられたとします。

product_idnamepricecategory
1Apple100Fruit
2Banana80Fruit
3Carrot50Vegetable
`products`テーブルの例

このテーブルから、一意な`category`を取得するSQLクエリを書いてください。

解説

この問題で求められているSQLクエリは以下のようになります。

-- category列の重複を削除
SELECT DISTINCT category
FROM products;

まとめ

DISTINCTキーワードは、SQLにおいて重複データを簡単に削除できる便利な機能です。基本的な使用方法から応用例、演習問題まで解説しましたので、この機会にぜひ実践してみてください。

コメント

コメントする

目次