MySQLの第3章 - ネストされたクエリ

ネストされたクエリ  

      SQL文の選択-から-ブロック文がクエリである場合には、内の別のクエリ句持つ単語やブロックのネストされた状態での問合せブロッククエリは次のように呼ばれているネストされたクエリ。

      外側のクエリまたは親クエリ内部クエリまたはサブクエリ

      SQL言語は、ネストされたクエリ、すなわち、サブクエリはネストすることもでき、他のサブクエリを可能にします。特別な注意:SELECT文でのサブクエリはby句節、オーダーすることができる唯一の並べ替え最終結果によって順序を使用することはできません

      ネストされたクエリは、そのユーザーが簡単なの複数を使用することができ、それによってSQLクエリ機能の強化、複雑なクエリを照会します。プログラムに深くネストされたSQLを構成するように、「ある構造化」を意味嘘

  • サブクエリとIN述語

            ネストされたクエリでは、クエリの結果は、述語ネストされたクエリで誤訳述語のサブセットが最も頻繁に使用されることが多いです。

例:

この例では、クエリサブクエリ親クエリに依存しないであり、相関サブクエリないサブクエリを実行するために、内側から行うと、親クエリ検索条件としてサブクエリの、結果、別の方法クエリを完了するために独自の接続で、次のように:

  • 比較演算子を持つサブクエリ

            サブクエリ比較演算子手段親と子の間の接続は、クエリの比較演算子を照会しますユーザーができたときに知っている正確内のクエリが単一の値を返し、それが使用可能である>、<、> =、<= ,! =、または<>比較演算子等(内部クエリ結果がある場合に値述語INにすることができます=代わりに

クエリのサブクエリは、親クエリに依存している、そのようなサブクエリは相関サブクエリ、プログラム全体の文が呼ば関連するネストされたクエリ

例:

SC xはタプル変数として知られているエイリアステーブルは、SCのタプルを表すために使用することができるですこれまでの学生の平均スコアは、パラメータ値のx.snoに依存して、クエリのこのタイプは、相関サブクエリであるので値は、親クエリに関連付けられているように、すべての生徒の成績平均点を求めては、内側のクエリを選択科目。

関連するサブクエリを解決することは、親のクエリを解決し、それを解決するためにサブクエリのサブクエリとして無関係なように解決することはできません。内部クエリと外部クエリの程度あるので、それを繰り返して評価する必要があります。

  • ANY(SOME)またはALL述語を持つサブクエリ

            サブクエリは、何かがANY(SOMEいくつかのシステム)またはALL述語修飾子を使用し、任意またはすべての述語を使用しなければならないとき、比較演算子を使って複数の値を返す、比較演算子が単一の値を返すことができます。次のとおりです。

実際には、サブクエリで集計関数は、直接、次のように集約関数とのいずれか、またはすべての問合せ対応ANY、ALL関係よりも、一般的に、より効率的です。

  • 述語が存在しているとのサブクエリ

              代表的存在記号述語は、存在サブクエリの述語に存在するすべてのデータを返さない、唯一の論理的真値「true」または論理的に偽の値「偽」を生産します

              

例:

いくつかのサブクエリが述語、比較演算子ですべてで存在するか述語がサブクエリの他の形態にすることはできませんが存在置き換えると等価である、しかし、任意およびすべてのサブクエリ述語は、サブクエリ述語が同等の交換に存在して使用することができます

関心のあるサブバンドのみ効率が必ずしも相関サブクエリ以上、時には効率的な方法ではないので、戻り値は、特定の手段を確認する必要がないかどうかを数量詞内クエリのクエリが存在するからです。

 

 

おすすめ

転載: www.cnblogs.com/lxx2/p/12561759.html