SQLでDISTINCTキーワードを使って重複レコードをフィルタリングする方法

SQLにおいてデータベースからデータを取得する際、重複したレコードが存在する場面に遭遇することが多々あります。特定のカラムで重複を避けたい場合、`DISTINCT`キーワードが役立ちます。この記事では、SQLの`DISTINCT`キーワードの使い方と、それを活用する具体的なケースについて解説します。

目次

DISTINCTキーワードとは

`DISTINCT`キーワードはSQLにおいて、特定のカラムで重複したレコードを排除して結果を返すためのキーワードです。これを使うことで、データの一意性を保証できます。

基本的な使い方

基本的な形式は以下のようになります。

SELECT DISTINCT カラム名 FROM テーブル名;

具体的な例と活用ケース

従業員テーブルから部署名を一意に取得

以下は従業員テーブル(employees)から部署名(department)だけを一意に取得するケースです。

SELECT DISTINCT department FROM employees;
department
開発
営業
人事
経理
一意な部署名の一覧

複数のカラムで重複を排除

DISTINCTキーワードは複数のカラムにも適用可能です。以下の例では、`city`と`state`の両方で重複を排除します。

SELECT DISTINCT city, state FROM addresses;
citystate
東京東京都
大阪大阪府
名古屋愛知県
一意な都市と都道府県の組み合わせ

注意点と制限事項

NULL値の取り扱い

`DISTINCT`キーワードはNULL値に対しても一意とみなします。つまり、NULLが複数行あった場合、1行だけが出力されます。

性能への影響

DISTINCTキーワードを使用すると、データベースが内部でソートを行うため、大量のデータに対して使用する際は性能に影響を及ぼす可能性があります。

まとめ

SQLの`DISTINCT`キーワードは、特定のカラムにおいて重複したレコードを簡単に排除できる有用な機能です。しかし、性能に影響を及ぼす可能性があるため、使用する際には注意が必要です。特に大規模なデータベースを操作する場合、その影響は無視できません。

コメント

コメントする

目次