データベース設計

【SQL入門】DISTINCTの使い方(重複データ除外)

DISTINCTの基本構文

SQLのDISTINCTを使うと、重複したデータを除外することができます。

SELECT DISTINCT 列名 FROM テーブル名 WHERE 条件;

DISTINCTの使い方

DISTINCTを使って、重複データを除外する

例えば、次のように「部署コード」を取得するSQLがある場合、"1"と"3"が重複しているとします。

■DISTINCTを使わない場合の例
SELECT department_id FROM user;

+---------------+
| department_id |
+---------------+
|  1  |
|  1  |
|  3  |
|  2  |
|  2  |
+---------------+

これに対して、「DISTINCT」を使うと重複したデータを除外することができます。

■DISTINCTを使った場合の例

SELECT DISTINCT department_id FROM user;

+---------------+
| department_id |
+---------------+
|  1  |
|  3  |
|  2  |
+---------------+

列名の前に「DISTINCT」を追加することで、重複データが除外されました。

複数の列(カラム)を対象に重複データを除外する

「DISTINCT」は複数の列(カラム)に対しても使用することができます。

+---------+---------------+
| address | department_id |
+---------+---------------+
| 東京都  |  1  |
| 埼玉県  |  1  |
| 千葉県  |  3  |
| 東京都  |  2  |
| 東京都  |  2  |
+---------+---------------+

これに対して、「DISTINCT」を使うと重複したデータを除外することができます。

■DISTINCTを使った場合の例

SELECT DISTINCT address, department_id FROM user;

+---------+---------------+
| address | department_id |
+---------+---------------+
| 東京都  |  1  |
| 埼玉県  |  1  |
| 千葉県  |  3  |
| 東京都  |  2  |
+---------+---------------+

学習書の紹介

SQLの絵本 第2版 データベースが好きになる新しい9つの扉

一番やさしいデータベースとSQLの入門書がリニューアル

データベースは沢山のデータを管理するためのソフトで、データの登録/変更/削除を確実にし、多数のユーザーからの操作を受け付ける仕組みが備わっています。
このデータベースを操作するための言語がSQLです。
本書は「そもそもデータベース(リレーショナルデータベース)とは
どういうものであるか」から解説を始めます。基礎知識を身につけ、
データの操作を実際に試して学ぶことができる一冊です。

学習書のお求めはこちらから → 全国送料無料!IT書、ビジネス書、資格書が豊富なSEshop

-データベース設計