ホームページ  >  記事  >  データベース  >  mysqlには with as ステートメントがありますか?

mysqlには with as ステートメントがありますか?

WBOY
WBOYオリジナル
2022-01-20 14:21:438577ブラウズ

mysql5.7 以前のバージョンには「with as」ステートメントはありませんが、mysql8.0 以降のバージョンには「with as」ステートメントがあります。mysql5.7 はこのステートメントをサポートしていませんが、これを使用して一時ステートメントを作成できます 同じ効果がテーブル モードでも達成できます mysql8.0 以降、このステートメントを使用したサブクエリがサポートされています。

mysqlには with as ステートメントがありますか?

このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。

mysql には with as ステートメントがありますか?

WITH AS サブクエリ部分 [mysql5.7 以前ではサポートされず、mysql8 でサポートされます。 0 および sqlserver ]

サブクエリ パーツの利点は、部分クエリであることです。1 つのステートメント内に複数回出現する 3 つのテーブル接続がある方が良いです。

単一のサブクエリ パーツ

with a as (select * from  Student a inner join Course b ON a.Id=b.StudentId  )select * from a

分析: ここでの動作は次のとおりです。 ステートメント タイプのクエリ a が学生テーブルとコース テーブルの結合クエリ セットをクエリするたびに

複数のクエリ部分の構文

with a as (select * from  Student),
b as (select * from Course)
select * from a inner join b on a.Id=b.StudentId

クエリ全体内の複数のサブクエリで同じサブクエリのクエリ結果を使用する必要がある場合は、 with as を使用して共通のサブクエリを抽出し、エイリアスを追加できます。後続のクエリ ステートメントは直接使用でき、多数の複雑な SQL ステートメントの最適化に非常に優れた役割を果たします。

注:

  • は一時テーブルと同等ですが、ビューとは異なり、保存されないため、select と組み合わせて使用​​する必要があります。

  • 同じ選択の前に複数の一時テーブルが存在する可能性があります。with をカンマで区切って記述するだけです。最後の with ステートメントではカンマを使用しないでください。

  • with 句は括弧で囲む必要があります。

with の使用法を要約すると、一時テーブルを生成するのと似ています。

推奨学習: mysql ビデオ チュートリアル

以上がmysqlには with as ステートメントがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。