sql >> データベース >  >> RDS >> Oracle

内部結合の動作はSQLに存在します

    違いは、existsを使用すると -内部のクエリは通常、メインクエリに依存します(つまり、メインクエリの列を使用するため、個別に実行することはできません)。したがって、メインクエリの各行について、サブクエリによって取得されたデータが存在するかどうかを確認します。

    最初のクエリの問題は、existsブロック内のサブクエリがメインのクエリ列に依存しないことです。これは、常に1の行を返す個別のクエリです。 、したがって、メインクエリの任意の行について、existsが存在します 常にtrueになります 。したがって、最初のクエリは

    とまったく同じです。
    SELECT distinct(company_id)
    FROM user
    WHERE user.user_id = 123 
    AND user.company_id IS NOT NULL
    

    fiddle も参照してください。



    1. getSingleScalarResult()およびgroupBy()を介してカウントクエリ結果を取得します-例外

    2. MariaDBの範囲内でランダムな整数を生成する方法

    3. SQLServerツリークエリ

    4. 再帰SQLとさまざまなレベルの情報