SQL 重複行を表示しないサンプル(distinct)

SQLの重複行を表示しないサンプルです。
distinctを使用します。

目次

distinct

  • 重複行を非表示にします。

サンプル

distincのサンプルです。

select distinct name from fish
where name = "まぐろ";

上記SQL文の実行結果です。

fishテーブル (元のテーブル)
id name romaji
1 まぐろ maguro
2 さば null
3 まぐろ maguro
実行結果
name
まぐろ

distinctを指定しない場合は、「まぐろ」が2行表示されます。

 

distinctで複数項目を指定した時

  • distinctで指定した項目が全て重複していれば重複行は表示されません。

サンプル

distinctで複数項目を指定した時のサンプルです。

select distinct name,romaji from fish
where name = "まぐろ";

上記SQL文の実行結果です。
nameとromajiの値は重複しているので1行のみ表示されます。

fishテーブル (元のテーブル)
id name romaji
1 まぐろ maguro
2 さば null
3 まぐろ maguro
実行結果
name romaji
まぐろ maguro

 

distinctで重複していない項目を指定した時

  • distinctで重複していない項目を指定した場合、その分の行が表示されます。

サンプル

distinctで重複していない項目を指定した時のサンプルです。
idの値は重複していません。nameとromajiの値は重複しています。

select distinct id,name,romaji from fish
where name = "まぐろ";

上記SQL文の実行結果です。
重複していない項目(id)があるので2行表示されます。

fishテーブル (元のテーブル)
id name romaji
1 まぐろ maguro
2 さば null
3 まぐろ maguro
実行結果
id name romaji
1 まぐろ maguro
3 まぐろ maguro

関連の記事

SQL INSERT文のサンプル
SQL UPDATE文とDELETE文のサンプル
SQL 外部結合のサンプル(left outer join/right outer join)
SQL 副問合せのサンプル(サブクエリ)
SQL 自己結合とは
SQL 内部結合とは (inner join)
SQL UNIONとは

△上に戻る