Beneficios del uso de CTE:
Sintaxis:
Con name CTE (columna1, columna2, ... columnn) as (Aquí, puede definir cualquier instrucción SQL como consulta, seleccionar, actualizar, eliminar, insertar o crear instrucción. Si define la lista de columnas con cláusula, entonces el número de columnas en la consulta debe ser el mismo con el número de columnas definidas con cláusula.
Requisito previo:
La función CTE no es compatible con ninguna versión de MySQL menor de 8.0. Entonces, tienes que instalar mysql 8.0 Antes de practicar el ejemplo de este artículo. Puede verificar la versión actualmente instalada de MySQL ejecutando el siguiente comando.
$ mysql -vLa salida muestra que MySQL versión 8.0.19 se instala en el sistema.
Si se instala la versión correcta, cree una base de datos con nombre mydb y crear dos tablas nombradas usuarios y Users_profile con algunos datos para conocer los usos de CTE en MySQL. Ejecute las siguientes declaraciones SQL para hacer las tareas. Estas declaraciones crearán dos tablas relacionadas con nombre usuarios y Users_profile. A continuación, algunos datos se insertarán en ambas tablas mediante declaraciones de inserción.
Crear base de datos mydb;Uso de CTE simple:
Aquí un CTE muy simple llamado cte_users_profile se crea donde ninguna lista de campo se define con el nombre de CTE con cláusula y recuperará todos los datos del Users_profile mesa. A continuación, la instrucción SELECT se usa para leer todos los registros de cte_users_profile Cte.
Con cte_users_profile as (La siguiente salida aparecerá después de ejecutar la declaración.
Uso de CTE simple con la lista de columnas:
Puede crear CTE más específicamente definiendo la lista de campo con el nombre de CTE con cláusula. En este caso, los nombres de campo definidos con el nombre de CTE serán los mismos que los nombres de campo definidos en la consulta de selección dentro de la cláusula con. Aquí, nombre y correo electrónico Los campos se usan en ambos lugares.
Con cte_users_profile (nombre, correo electrónico) como (La siguiente salida aparecerá después de ejecutar la instrucción anterior.
Uso de CTE simple con la cláusula Where:
La declaración de selección con la cláusula donde se puede definir en la instrucción CTE como otra consulta selecta. La consulta de selección con registros de recuperación de usuarios y Users_profile tablas donde los valores de Nombre de usuarios el campo es igual para las tablas y el valor de nombre de usuario no es 'personal'.
Con cte_users como (La siguiente salida aparecerá después de ejecutar la declaración.
Uso de CTE simple con grupo por cláusula:
Cualquier función agregada se puede usar en la consulta que se usa en CTE. La siguiente instrucción CTE muestra el uso de la función Seleccionar consulta con Count (). La primera declaración de selección se utiliza para mostrar todos los registros de usuarios La tabla y la última declaración de selección se usa para mostrar la salida de CTE que contará el número total de usuarios desde usuarios mesa que están activas.
Seleccionar * de los usuarios;La siguiente salida aparecerá después de ejecutar la declaración.
Uso de CTE simple con un operador sindical:
La siguiente declaración de CTE muestra el uso del operador sindical en la declaración CTE. La salida mostrará los valores de nombre de usuario de usuarios mesa donde el estado el valor es 'Inactivo'y los otros valores de nombre de usuario de Users_profile mesa.
Con cte_users como (La siguiente salida aparecerá después de ejecutar la declaración.
Uso de CTE simple con unión izquierda:
La siguiente declaración de CTE muestra el uso de la izquierda en CTE. La salida mostrará los valores de nombre y correo electrónico campos de Users_profile tabla aplicando unión a la izquierda basada en nombre de usuario campo entre usuarios y Users_profile tablas y dónde condición, que filtrarán esos registros de usuarios tabla donde el valor de estado es 'Inactivo'.
Con cte_users como (La siguiente salida aparecerá después de ejecutar la declaración.
Conclusión:
Si desea aumentar el rendimiento de la consulta y obtener la salida de consulta más rápido, entonces el CTE es la mejor opción que otras opciones de MySQL. Este artículo ayudará a los usuarios de MySQL a aprender el uso de CTE para la consulta seleccionada muy fácilmente.