mysql5.7 以前のバージョンには「with as」ステートメントはありませんが、mysql8.0 以降のバージョンには「with as」ステートメントがあります。mysql5.7 はこのステートメントをサポートしていませんが、これを使用して一時ステートメントを作成できます 同じ効果がテーブル モードでも達成できます mysql8.0 以降、このステートメントを使用したサブクエリがサポートされています。
このチュートリアルの動作環境: 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 サイトの他の関連記事を参照してください。