Vantaggi dell'utilizzo di CTE:
Sintassi:
Con cte-name (column1, column2, ... columnn) come (Qui, è possibile definire qualsiasi istruzione SQL come query, selezionare, aggiornare, eliminare, inserire o creare un'istruzione. Se si definisce l'elenco delle colonne con la clausola, il numero di colonne nella query deve essere lo stesso con il numero di colonne definite con la clausola.
Prerequisito:
La funzione CTE non è supportata da nessuna versione MySQL inferiore a 8.0. Quindi, devi installare mysql 8.0 prima di praticare l'esempio di questo articolo. È possibile controllare la versione attualmente installata di MySQL eseguendo il comando seguente.
$ mysql -vL'output mostra che MySQL versione 8.0.19 è installato nel sistema.
Se la versione corretta è installata, crea un database denominato mydb e crea due tabelle chiamate utenti E utenti_profile con alcuni dati per conoscere gli usi di CTE in MySQL. Esegui le seguenti istruzioni SQL per svolgere le attività. Queste dichiarazioni creeranno due tabelle correlate denominate utenti E utenti_profile. Successivamente, alcuni dati verranno inseriti in entrambe le tabelle da inserisci dichiarazioni.
Crea database mydb;Uso del semplice CTE:
Qui un CTE molto semplice chiamato cte_users_profile viene creato dove non è definito alcun elenco di campi con il nome CTE con la clausola e recupererà tutti i dati dal utenti_profile tavolo. Successivamente, l'istruzione Select viene utilizzata per leggere tutti i record cte_users_profile Cte.
Con cte_users_profile come (Il seguente output apparirà dopo aver eseguito l'istruzione.
Utilizzo del semplice CTE con elenco di colonne:
È possibile creare CTE in modo più specifico definendo l'elenco dei campi con il nome CTE con la clausola. In questo caso, i nomi dei campi definiti con il nome CTE saranno gli stessi dei nomi del campo definiti nella query selezionata all'interno della clausola. Qui, nome E e-mail I campi sono utilizzati in entrambi i luoghi.
Con cte_users_profile (nome, email) come (La seguente output apparirà dopo aver eseguito l'istruzione sopra.
Uso di CTE semplice con la clausola dove:
L'istruzione seleziona con la clausola dove può essere definita nell'istruzione CTE come un'altra query selezionata. La query seleziona con record di recupero da utenti E utenti_profile tabelle in cui i valori di UsersName il campo sono uguali per entrambe le tabelle e il valore di nome utente non è 'personale'.
Con cte_users come (Il seguente output apparirà dopo aver eseguito l'istruzione.
Uso di CTE semplice con gruppo per clausola:
Qualsiasi funzione aggregata può essere utilizzata nella query utilizzata in CTE. La seguente istruzione CTE mostra l'uso della funzione Select query con count (). La prima istruzione selezionata viene utilizzata per visualizzare tutti i record di utenti La tabella e l'ultima istruzione selezionata vengono utilizzate per visualizzare l'output di CTE che conta il numero totale di utenti da utenti Tavolo che sono attivi.
Seleziona * dagli utenti;Il seguente output apparirà dopo aver eseguito l'istruzione.
Uso di CTE semplice con operatore sindacale:
La seguente dichiarazione CTE mostra l'uso dell'operatore sindacale nella dichiarazione CTE. L'output visualizzerà i valori di nome utente da utenti tavolo dove il stato Il valore è 'Inattivo'e gli altri valori di nome utente da utenti_profile tavolo.
Con cte_users come (Il seguente output apparirà dopo aver eseguito l'istruzione.
Utilizzo di CTE semplice con un join a sinistra:
La seguente istruzione CTE mostra l'uso di sinistra in CTE. L'output visualizzerà i valori di nome E e-mail campi da utenti_profile tabella applicando un join a sinistra in base a nome utente campo tra utenti E utenti_profile tabelle e dove condizioni, che filtreranno quei record da utenti tabella dove il valore di stato È 'Inattivo'.
Con cte_users come (Il seguente output apparirà dopo aver eseguito l'istruzione.
Conclusione:
Se si desidera aumentare le prestazioni delle query e ottenere l'uscita della query più veloce, allora il CTE è l'opzione migliore rispetto ad altre opzioni MySQL. Questo articolo aiuterà gli utenti MySQL a imparare l'uso di CTE per la query selezionata molto facilmente.