Oracleでのdistinctの使用法は何ですか?
Oracle の独自の使用法により、結果セット内の重複行をフィルタリングして、「SELECT」句で返される指定された列の値が一意であることを確認できます。構文は「SELECT DISTINCT カラム 1、カラム 2、カラム 3... テーブル名から」です。「distinct」は返された結果セットをソートし、「order by」と組み合わせて使用すると効率が向上します。
#この記事の動作環境: Windows 10 システム、Oracle バージョン 19c、DELL G3 コンピューター。
Oracle Distinct の使用法
SELECT DISTINCT を使用すると、結果セット内の重複行をフィルタリングして、SELECT 句で指定された 1 つ以上の列の値が確実に一致するようにすることができます。個性的。 。
これを使用して、非重複レコードのすべての値を返すのではなく、非重複レコードの数を返すためにのみ使用してください。その理由は、distinct は二重ループ クエリによってのみ解決できるためであり、これは間違いなく、非常に大量のデータを含む Web サイトの効率に直接影響します。
distinct は返された結果セットを並べ替えるため、効率を向上させるために order by と組み合わせて使用することをお勧めします。
Oracle SELECT DISTINCT の使用法
SELECT DISTINCT ステートメントの構文は次のとおりです。
SELECT DISTINCT column_1 FROM table_name;
上記の構文では、column_1 の値がtable_name テーブルの列は、重複をフィルターするために比較されます。
複数の列に基づいて一意のデータを取得するには、次のように SELECT 句で列のリストを指定するだけです:
SELECT DISTINCT column_1, column_2, ... FROM table_name;
この構文では、column_1、column_2、および column_n の値が組み合わせは、データの一意性を判断するために使用されます。
DISTINCT 句は、SELECT ステートメントでのみ使用できます。
Oracle では DISTINCT と UNIQUE に違いはないことに注意してください。これらは同義語です。DISTINCT は ANSI 標準に従い、UNIQUE は Oracle 固有です。移植の観点からは、次の DISTINCT を使用することをお勧めします。 ANSI 規格。
Oracle DISTINCT の例
SELECT DISTINCT の使用例をいくつか見て、その動作を確認しましょう。
1. Oracle DISTINCT の簡単な例
以下は表です
字段1 字段2 id name 1 a 2 b 3 c 4 c 5 b
1 つのステートメントを使用して、重複しない名前を持つすべてのデータをクエリする場合は、個別の重複レコードを使用する必要があります。冗長な重複レコードを削除します。最初に次のように入力します:
select *, count(distinct name) from table group by name
次に、次のように入力します:
id name count(distinct name)
そして結果を取得します:
1 a 1 2 b 1 3 c 1
2. 列
に適用される Oracle DISTINCT の例すべての連絡先の名前を取得する例:
SELECT first_name FROM contacts ORDER BY first_name;
上記のクエリ ステートメントを実行すると、次の結果が得られます:
クエリは 319 行を返しました。 、連絡先 (contacts) テーブルに 319 行があることを示します。
一意の連絡先名を取得するには、以下に示すように、上記の SELECT ステートメントに DISTINCT キーワードを追加できます。
クエリで返された行 302 は、次のことを意味します。連絡先テーブルの 17 行は重複しており、フィルターされています。
2. Oracle DISTINCT アプリケーションの複数列の例
下の order_items テーブルを見てください。テーブルの構造は次のとおりです:
次のステートメントは order_items からのものです。テーブル内の異なる製品 ID と数量を選択してください:
SELECT DISTINCT product_id, quantity FROM ORDER_ITEMS ORDER BY product_id;
上記のクエリ ステートメントを実行すると、次の結果が得られます
この例では、product_id 列と数量列の値を使用して、結果セット内の行の一意性を評価します。
3. Oracle DISTINCT と NULL
DISTINCT は、NULL 値を重複値として扱います。 SELECT DISTINCT ステートメントを使用して、複数の NULL 値を持つ列のデータをクエリする場合、結果セットには NULL 値が 1 つだけ含まれます。
サンプル データベースの location テーブルを参照してください。構造は次のとおりです。
次のステートメントは、状態から複数の NULL 値を含むデータを取得します。列:
SELECT DISTINCT state FROM locations ORDER BY state NULLS FIRST;
上記のコード例を実行すると、次の結果が得られます:
上の図からわかるように、NULL 値のみが返されます。 。
以上がOracleでのdistinctの使用法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Oracleのソリューションを開くことはできません。1。データベースサービスを開始します。 2。リスナーを開始します。 3.ポートの競合を確認します。 4.環境変数を正しく設定します。 5.ファイアウォールまたはウイルス対策ソフトウェアが接続をブロックしないことを確認してください。 6.サーバーが閉じているかどうかを確認します。 7. RMANを使用して破損したファイルを回復します。 8。TNSサービス名が正しいかどうかを確認します。 9.ネットワーク接続を確認します。 10。Oracleソフトウェアを再インストールします。

Oracle Cursorの閉鎖問題を解決する方法には、次のものが含まれます。 Scopeが終了した後に自動的に閉じるように、for update句のカーソルを宣言します。使用句のカーソルを宣言して、関連するPL/SQL変数が閉じられたときに自動的に閉じるようにします。例外処理を使用して、例外の状況でカーソルが閉じていることを確認します。接続プールを使用して、カーソルを自動的に閉じます。自動送信を無効にし、カーソルの閉鎖を遅延させます。

Oracle Database Pagingは、Rownum Pseudo-ColumnsまたはFetchステートメントを使用して実装しています。RownumPseudo-Columnsは、行番号ごとに結果をフィルタリングするために使用され、複雑なクエリに適しています。 Fetchステートメントは、指定された最初の行を取得するために使用され、単純なクエリに適しています。

Oracleでは、forループループは動的にカーソルを作成できます。手順は次のとおりです。1。カーソルタイプを定義します。 2。ループを作成します。 3.カーソルを動的に作成します。 4。カーソルを実行します。 5。カーソルを閉じます。例:カーソルをサイクルごとに作成して、上位10人の従業員の名前と給与を表示できます。

Oracleデータベースを停止するには、次の手順を実行します。1。データベースに接続します。 2。すぐにシャットダウンします。 3.シャットダウンは完全に中止します。

CENTOSシステムにHadoop分散ファイルシステム(HDFS)を構築するには、複数のステップが必要です。この記事では、簡単な構成ガイドを提供します。 1.初期段階でJDKをインストールする準備:すべてのノードにJavadevelopmentKit(JDK)をインストールすると、バージョンはHadoopと互換性がある必要があります。インストールパッケージは、Oracleの公式Webサイトからダウンロードできます。環境変数構成: /etc /プロファイルファイルを編集し、JavaおよびHadoop環境変数を設定して、システムがJDKとHadoopのインストールパスを見つけることができるようにします。 2。セキュリティ構成:SSHパスワードなしログインSSHキーを生成する:各ノードでSSH-KeyGenコマンドを使用する

SQLステートメントは、Oracleの動的SQLを使用して、ランタイム入力に基づいて作成および実行できます。手順には、次のものが含まれます。動的に生成されたSQLステートメントを保存するための空の文字列変数を準備します。 executeを即座に使用するか、ステートメントを準備して、動的なSQLステートメントをコンパイルおよび実行します。バインド変数を使用して、ユーザー入力またはその他の動的値を動的SQLに渡します。実行するか、実行するか、動的SQLステートメントを実行します。

Oracleデータベースを開く手順は次のとおりです。Oracleデータベースクライアントを開き、データベースサーバーに接続します。ユーザー名/パスワード@servername sqlplusコマンドを使用してデータベースを開きます:sqlplus