このチュートリアルでは、SQL で重複データを削除する 3 つの方法を説明します。DISTINCTキーワード、GROUP BY句、ステートメントを使用するとINNER JOIN、SQL のテーブルから重複を削除できます。
重複はクエリのパフォーマンスを低下させ、貴重なストレージ領域を無駄にする可能性があるため、SQL データベースでは大きな問題となる可能性があります。
幸いなことに、SQL で重複データを削除する方法がいくつかあります。
この記事では、DISTINCT キーワード、GROUP BY 句、INNER JOIN ステートメントの使用など、SQL で重複データを削除する最も効果的な方法のいくつかを検討します。
SQL で重複データを削除する最も簡単な方法の 1 つは、DISTINCT キーワードを使用することです。SELECT ステートメントで DISTINCT キーワードを使用すると、特定の列から一意の値のみを取得できます。
DISTINCT キーワードを使用してテーブルから重複を削除する方法の例を次に示します。
SELECT DISTINCT column_name
FROM table_name;
たとえば、「customers」という名前のテーブルに「customer_id」と「customer_name」という列がある場合、次の SQL クエリを使用して「customer_name」列から重複を削除できます。
SELECT DISTINCT customer_name
FROM customers;
SQL で重複を削除するもう 1 つの方法は、GROUP BY 句を使用することです。GROUP BY 句は、特定の列の値に基づいて行をグループ化し、一意の値ごとに 1 行のみを返します。
GROUP BY 句を使用してテーブルから重複を削除する方法の例を次に示します。
SELECT column_name
FROM table_name
GROUP BY column_name;
たとえば、「orders」という名前のテーブルに「order_id」、「customer_id」、および「order_date」列がある場合、次の SQL クエリを使用して「customer_id」列から重複を削除できます。
SELECT customer_id
FROM orders
GROUP BY customer_id;
SQL で重複を削除するもう 1 つの方法は、INNER JOIN ステートメントを使用することです。INNER JOIN ステートメントは、テーブル間の関連する列に基づいて 2 つ以上のテーブルの行を結合します。テーブルをそれ自体と結合することで、行を比較し、重複を削除できます。
INNER JOIN ステートメントを使用してテーブルから重複を削除する方法の例を次に示します。
SELECT a.column_name
FROM table_name a
INNER JOIN table_name b ON a.column_name = b.column_name
WHERE a.primary_key > b.primary_key;
たとえば、「employees」という名前のテーブルに「employee_id」、「employee_name」、および「Department_id」という列がある場合、次の SQL クエリを使用して「Department_id」列から重複を削除できます。
SELECT a.department_id
FROM employees a
INNER JOIN employees b ON a.department_id = b.department_id
WHERE a.employee_id > b.employee_id;
SQL で重複データを削除すると、クエリのパフォーマンスが向上し、ストレージ領域を節約できます。
DISTINCTキーワード、GROUP BY句、ステートメントを使用するとINNER JOIN、SQL のテーブルから重複を削除できます。
データ損失の可能性を避けるために、データを変更する前に必ずデータのバックアップを作成してください。
#sql