SQLのUniqueとDistinctの違いとは?分かりやすく解説!

この記事には、アフィリエイト広告を利用しています。

スポンサーリンク


SQLにおけるUniqueとDistinctの主な違いは、Uniqueはカラムの値がすべて異なることを保証するのに役立ち、Distinctはテーブルからレコードを検索する際に重複するレコードをすべて削除するのに役立つという点です。

一般にSQL(Structure Query Language)は、RDBMSのデータベースに格納されているデータに対して様々な操作を行うことができる言語です。

さらに、SQLには様々なコマンドや制約があり、プログラマーは簡単にクエリを作成し、挿入、更新、削除などを実行することができます。

SQLのクエリを書くために、UniqueとDistinctの2つがあります。

スポンサーリンク

SQLでユニークなのは何か

一意とは、SQLにおけるコマンドまたは制約で、あるカラムの値がすべて異なることを保証するものです。

また、ユニークキーとプライマリーキーは、カラムやカラムの集合の一意性を保証するものです。

一般に、主キーはすでに一意性制約を持っています。


テーブルごとに複数のユニーク制約を持つことは可能ですが、プライマリーキーはテーブルごとに1つしか持つことができません

MySQLでUniqueを使用してテーブルを作成する例は以下の通りです。

CREATE TABLE student(

id int not null.

名前 varchar(255),

int age,

UNIQUE (ID) );

さらに、既存のテーブルに対して一意制約を使用することも可能です

これは、テーブルに修正を加えることになります。

以下の例では、既存のstudentテーブルのidカラムに一意制約を設定しています。

したがって、これはALTERと一緒に使用されます。

ALTER TABLE student

ADD UNIQUE (id);

SQLのDistinctとは

Distinct は、異なる値だけを返すのに役立つ SQL コマンドです。

テーブルのカラムは、同じ値を複数回持つことができます。

言い換えれば、重複した値が含まれている可能性があります

時には、プログラマーはそれらの重複した値を削除し、データベースで利用可能な明確な値を取得する必要があるかもしれません

そのような場合、Distinctを使用することができます。

SELECT DISTINCT age FROM students;

さらに、以下の文は学生の異なる年齢をカウントします。

SELECT COUNT (DISTINCT age) FROM Student;

SQLにおけるUniqueとDistinctの違い

定義

UniqueはSQLの制約で、テーブルの1つ以上のフィールドまたはカラムがデータベーステーブル内のレコードを一意に識別できるようにするものです。

しかし、Distinct は ‘select’ で使用されるコマンドで、結果セットに異なる値または異なる値を返すのに役立ちます。

このように、SQLにおけるUniqueとDistinctの主な違いについて説明します

使用方法

さらに、uniqueはカラムに同じ値を持つ2つのレコードを防ぐ制約であり、distinctはデータを取得する際に重複する値を取り除くのに役立つ。

結論

SQLとは、簡単に言うと、データベースに格納されているデータに対して操作を行うことができる言語です。

SQLの制約には、UniqueとDistinctがあります。

SQLにおけるUniqueとDistinctの主な違いは、Uniqueはカラムの値がすべて異なることを保証するのに役立ち、Distinctはテーブルからレコードを取得する際に重複するレコードをすべて削除するのに役立つという点です。

タイトルとURLをコピーしました