Tiada pernyataan "dengan sebagai" dalam versi mysql5.7 dan di bawah, tetapi terdapat pernyataan "dengan sebagai" dalam versi mysql8.0 dan ke atas tidak menyokong pernyataan ini, tetapi anda boleh menggunakannya untuk mencipta sementara Kesan yang sama boleh dicapai dalam mod jadual Selepas mysql8.0, pernyataan ini disokong untuk subqueries.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.
Adakah mysql mempunyai penyataan with as?
WITH AS subquery part [tidak disokong oleh mysql5.7 dan ke bawah, disokong oleh mysql8. 0 dan sqlserver 】
Kelebihan bahagian subquery ialah ia adalah pertanyaan separa Ia tidak sebaik mempunyai tiga sambungan jadual yang muncul berbilang kali dalam satu pernyataan
Bahagian subquery tunggal.
with a as (select * from Student a inner join Course b ON a.Id=b.StudentId )select * from a
Analisis: seperti ini Dalam pernyataan ini, setiap pertanyaan pertanyaan set pertanyaan bersama pelajar dan jadual kursus
Sintaks bahagian pertanyaan berbilang
with a as (select * from Student), b as (select * from Course) select * from a inner join b on a.Id=b.StudentId
Jika berbilang subquery dalam keseluruhan pertanyaan adalah Jika anda perlu menggunakan hasil subquery yang sama, anda boleh gunakan dengan untuk mengekstrak subquery yang dikongsi dan menambah alias. Pernyataan pertanyaan seterusnya boleh digunakan secara langsung, yang memainkan peranan yang sangat baik dalam mengoptimumkan sejumlah besar pernyataan SQL yang kompleks.
Nota:
adalah bersamaan dengan jadual sementara, tetapi tidak seperti paparan, ia tidak akan disimpan dan mesti digunakan bersama dengan pilihan.
Boleh terdapat berbilang jadual sementara sebelum pilihan yang sama Hanya tulis dengan dan pisahkan dengan koma. Jangan gunakan koma dalam pernyataan terakhir.
Klausa dengan hendaklah disertakan dalam kurungan.
Untuk meringkaskan penggunaan dengan, ia serupa dengan menjana jadual sementara.
Pembelajaran yang disyorkan: tutorial video mysql
Atas ialah kandungan terperinci Adakah mysql mempunyai pernyataan dengan sebagai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!