In MySQL wird „with as“ auch als Unterabfrage bezeichnet, die zum Definieren eines SQL-Fragments verwendet wird. Das Fragment wird von der gesamten SQL-Anweisung viele Male wiederholt verwendet. Dieses SQL-Fragment entspricht einer öffentlichen temporären Tabelle. und die Syntax lautet „mit tmp als (Abfrageanweisung)“.
Die Betriebsumgebung dieses Tutorials: Windows10-System, MySQL8.0.22-Version, Dell G3-Computer.
Was ist die Verwendung von with as in MySQL?
WITH AS-Phrase, auch Unterabfrage-Faktorierung genannt, kann ein SQL-Fragment definieren, das von der gesamten SQL-Anweisung verwendet wird. Es kann die SQL-Anweisung besser lesbar machen oder als Teil verwendet werden, der Daten in verschiedenen Teilen von UNION ALL bereitstellt.
Für UNION ALL verwenden Sie WITH AS, um eine UNION ALL-Anweisung zu definieren. Wenn das Fragment mehr als zweimal aufgerufen wird, fügt der Optimierer die durch die WITH AS-Phrase erhaltenen Daten automatisch in eine temporäre Tabelle ein. Die Eingabeaufforderung „meterize“ erzwingt, dass die Daten der WITH AS-Phrase in eine globale temporäre Tabelle gestellt werden. Viele Abfragen können auf diese Weise beschleunigt werden.
Da die Unterabfrage „with as“ nur einmal ausgeführt wird und die Ergebnisse in der temporären Tabelle des Benutzers gespeichert werden, um die Abfrageleistung zu verbessern, eignet sie sich für Szenarien mit mehreren Referenzen, z. B. komplexe Berichtsstatistiken, Paging-Abfragen und die Notwendigkeit, Summen abzurufen. count, Ergebnisse wie avg werden als Filterbedingungen verwendet, um eine sekundäre Verarbeitung der Abfrageergebnisse durchzuführen!
Besonders nützlich für alle. Da jeder Teil der Union möglicherweise gleich ist, aber wenn jeder Teil einmal ausgeführt wird, sind die Kosten zu hoch. Gemeinsame Syntax. – für einen Alias.
with tmp as (select * from tb_name)Die temporäre Tabelle
with tmp as (select * from tb_name), tmp2 as (select * from tb_name2), tmp3 as (select * from tb_name3), …– entspricht dem Erstellen der temporären Tabellen e und d
with e as (select * from scott.emp e where e.empno=7499) select * from e;Tatsächlich bedeutet es, viele wiederholt verwendete SQL-Anweisungen mit as einzufügen, einen Alias anzugeben und ihn in nachfolgenden Abfragen zu verwenden spielt in großen Mengen von SQL-Anweisungen eine Optimierungsrolle und ist klar. Empfohlenes Lernen:
MySQL-Video-Tutorial
Das obige ist der detaillierte Inhalt vonWas ist die Verwendung von with as in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!