OracleのDistinct句の役割は?
Oracle の DISTINCT 句は重複する行を結果から削除します。
SELECT文でデータを検索する際、複数のテーブルの結合、複数の条件のマッチングなどによって重複した行が発生する場合があります。その際、DISTINCT句を使用することで、重複した行を排除して一意の行のみを返します。
例として以下のようなデータを格納しているcustomersという表があるとします。
ジョン
以下のクエリを実行した場合、
顧客テーブルから name を取得
以下の結果が返されます。
ネイティブスピーカー的に日本語で言い換えると、名前は?
ジョン
ただし、DISTINCT句をクエリで使用した場合、
SELECT DISTINCT 名前 FROM 顧客;
次の結果が返されます
ネイティブな日本語で文章を言い換えてください。オプションは 1 つだけで結構です。名前は必要ありません。
ジョン、メアリー
DISTINCT 句を使用することで、重複した行を取り除き、一意な行のみを返せました。
DISTINCT句は、すべてのクエリ結果の列を考慮し、それらの値に基づいて重複を削除することに注意してください。特定の列でのみ重複を削除する必要がある場合は、DISTINCT句をその列に対してのみ使用できます。
DISTINCT句を使用するとパフォーマンスに影響を与える可能性があるため、結果を並べ替え、重複を削除する必要があることに注意してください。大量のデータに対してクエリを実行する場合は、パフォーマンスを向上させるために他の最適化方法を検討してください。