オプションの DISTINCT キーワードは、SELECT 文の結果から重複するローを削除します。DISTINCT を指定しないと、重複ローを含むすべてのローが表示されます。オプションとして、select リストの前に ALL を指定すると、すべてのローが表示されます。SQL のその他の実装との互換性のために、SQL Anywhere 構文では、ALL を使用して明示的にすべてのローを要求できるようになっています。ALL がデフォルトです。
たとえば、DISTINCT を指定しないで Contacts テーブルのすべての都市を検索した場合は、60 個のローが表示されます。
SELECT City FROM Contacts; |
DISTINCT を使用すれば、重複するエントリを削除できます。次のクエリは 16 個のローだけ返します。
SELECT DISTINCT City FROM Contacts; |
DISTINCT キーワードは、複数の NULL 値を互いに重複するものとして処理します。つまり、SELECT 文に DISTINCT が記述されていると、どんなに多くの NULL 値が検出された場合でも、結果には 1 つの NULL しか返されません。不要な DISTINCT 条件の排除を参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |