Qué es uno mismo en Python: ejemplos del mundo real
Qué es uno mismo en Python: ejemplos del mundo real
En este blog, analizaremos algunas expresiones de tabla comunes, también conocidas como CTE . Si encuentra problemas complejos, el uso de estas expresiones de tabla SQL puede ayudarlo.
Con CTE , puede dividir cualquier tarea en consultas pequeñas y manejables para resolver problemas complicados.
Ahora exploremos cómo CTE puede hacer que su trabajo sea más eficiente en la resolución de problemas de códigos.
Tabla de contenido
Sintaxis para crear expresiones de tabla SQL comunes
Primero, debe escribir " CON " seguido de su nombre de expresión CTE , seguido de " AS ".
Después de eso, puede proporcionar cualquier consulta entre paréntesis. Esto se almacenará en el nombre de expresión proporcionado que funcionará como una tabla virtual.
Luego, agregue una declaración SELECT usando la tabla virtual que ha creado a través del nombre de Expresión que ha establecido.
Para nuestro ejemplo, usaremos " USACusts " para el nombre de la expresión .
Y para la consulta, usaremos este código.
Esta consulta creará una tabla virtual. Mostrará una cantidad total o agregada agrupada por ID de cliente donde el país al que pertenecen es " EE. UU .". Los datos se extraerán de la tabla Sales.Customers .
Se verán dos columnas, que son custid y Agg_Amount . Tenga en cuenta que la mesa USACusts no es una mesa física sino solo una mesa virtual. Eso significa que no será visible en nuestra base de datos.
Después de la consulta, podemos agregar una instrucción SELECT .
Esta declaración seleccionará todos los Agg_Amount que sean mayores a 1000 de la tabla USACusts .
Múltiples Expresiones de Tabla SQL Comunes
Múltiples CTE pueden ayudarlo a resolver errores complejos en su código dividiéndolos en partes más pequeñas. Además, puede definir tantos CTE como desee. A continuación se muestra un ejemplo de múltiples CTE .
Para este ejemplo, tenemos el primer CTE que es C1 . A partir de ahí, seleccionamos AÑO (fecha de pedido) y creamos 2 columnas que son año de pedido y ID de cliente de la tabla Ventas.Pedidos .
Para el segundo CTE llamado C2 , seleccionamos orderyear y reunimos el número de custid usando el comando COUNT . Luego lo nombramos como numcusts de C1 . También se agregó una condición WHERE en C2 para seleccionar solo el año de pedido que sea mayor que 2015 . Luego los agrupamos por orderyear .
Después de eso, seleccionamos orderyear y numcusts de C2 . Luego agregamos una condición DONDE para seleccionar solo la cantidad de clientes que es mayor a 500 .
En resumen, este código se usa para seleccionar clientes donde el año del pedido es mayor que 2015 y seleccionar solo la cantidad de clientes que son más de 500 según la condición del año del pedido .
Uso de múltiples CTE para resolver códigos complejos
A continuación, demostraré más ejemplos para enfatizar aún más el uso de CTE en la resolución de problemas de un gran conjunto de datos. Aquí hay otro ejemplo de múltiples CTE .
Tenga en cuenta que puede nombrar CTE de la manera que desee, pero para este blog, estamos usando C1 , C2 , C3 , etc. para identificar y comprender fácilmente cómo los utilizamos en nuestros ejemplos.
Volviendo al ejemplo, creamos C1 para seleccionar solo las ventas donde la cantidad del pedido es mayor que 5 de la tabla Sales.SalesOrderDetails .
Luego, en C2 , utilizamos los datos que almacenamos en C1 para unir el producto según Product.ID y los agrupamos por nombre de producto (p.Name) y color de producto (p.Color) .
Dado que declaramos una condición en C1 , solo agruparemos el nombre y el color del producto en C2 para los pedidos en los que la cantidad del pedido (OrderQty) sea mayor que 5 .
Después de eso, usaremos un comando para seleccionar todos los datos de C2 con una cantidad de pedido superior a 1000 .
Para solucionar problemas, simplemente puede seleccionar cada uno de los CTE que ha creado para verificar si muestra los datos correctos. Consulte los ejemplos a continuación.
Para C1 , muestra todos los datos de la tabla Sales.SalesOrderDetail con una cantidad de pedido superior a 5 .
Luego, C2 muestra una salida de la cantidad del pedido que se agrupa por nombre de producto y color de C1 . En C2 , podemos ver la columna orderqty , pero en realidad no la tenemos en C2 porque es solo una columna calculada que generamos a partir de C1 . Desde aquí, podemos comenzar a usar cualquier condición en la columna orderqty y realizar la resolución de problemas.
Entonces, ahora puede ver cómo múltiples CTE pueden ayudarnos a resolver errores en códigos complejos almacenándolos en CTE y comenzar a solucionar problemas sin dañar el código real.
Uso de CTE con declaración de caso
Veamos otro ejemplo con el mismo contexto para mostrar cómo podemos utilizar múltiples CTE para solucionar problemas de códigos complejos.
En este caso, usaremos una instrucción CASE que creará una columna de Categoría de producto con resultados que se basan en la cantidad agregada de orderqty de C2 .
Como se mencionó anteriormente, no teníamos orderqty en el primer CTE ni en Product Category , pero utilizamos tablas intermedias para calcular y realizar diferentes cálculos.
En el siguiente ejemplo, crearemos una cantidad agregada basada en la categoría de producto que hemos creado en el ejemplo anterior. Pero para hacer esto, colocaremos la instrucción CASE para la categoría de producto en el tercer CTE , que es C3 .
Antes de continuar, verifiquemos la salida de C3 agregando " SELECT * FROM C3 " debajo de C3 .
En C3 podemos ver las columnas ProductName , Color , orderqty y Product Category . Desde aquí, podemos comenzar a agregar en función de la categoría del producto . Hagámoslo usando el siguiente comando debajo de C3 .
El siguiente ejemplo es el resultado después de crear una cantidad agregada usando el comando anterior.
Inicialmente, no teníamos las columnas Categoría de producto y cantidad de pedido , pero podemos generar resultados de muestra basados en estas columnas utilizando múltiples CTE .
En este punto, puede ver que podemos hacer cualquier cosa con la ayuda de CTE para trabajar con nuestros códigos de manera más eficiente.
Tablas y vistas temporales de SQL para el filtro de usuarios de LuckyTemplates
en SQL mediante IN, NOT IN, LIKE y NOT LIKE
Extracción de datos SQL mediante OFFSET y FETCH
Conclusión
En este tutorial, aprendió la sintaxis adecuada para crear expresiones de tabla SQL comunes y cómo utilizar múltiples CTE para solucionar problemas de códigos complejos aislando pequeñas partes de datos y almacenándolas dentro de un CTE determinado .
Al aprender esto, ahora tiene la capacidad de depurar sus códigos de manera más eficiente. Recuerde que puede usar cualquier nombre para CTE y no puede usar ni llamar a ningún CTE a menos que se haya creado. Una vez que se familiarice con CTE , puede considerarse un usuario intermedio de SQL .
Si desea obtener más información sobre este tema y otro contenido relacionado, puede consultar la lista de enlaces relevantes a continuación.
Mis mejores deseos,
Hafiz
Qué es uno mismo en Python: ejemplos del mundo real
Aprenderá a guardar y cargar objetos desde un archivo .rds en R. Este blog también cubrirá cómo importar objetos desde R a LuckyTemplates.
En este tutorial del lenguaje de codificación DAX, aprenda a usar la función GENERAR y a cambiar dinámicamente el título de una medida.
Este tutorial cubrirá cómo usar la técnica de elementos visuales dinámicos de subprocesos múltiples para crear información a partir de visualizaciones de datos dinámicos en sus informes.
En este artículo, repasaré el contexto del filtro. El contexto del filtro es uno de los temas principales que cualquier usuario de LuckyTemplates debería conocer inicialmente.
Quiero mostrar cómo el servicio en línea de LuckyTemplates Apps puede ayudar a administrar diferentes informes e información generada a partir de varias fuentes.
Aprenda a calcular los cambios de su margen de beneficio utilizando técnicas como la bifurcación de medidas y la combinación de fórmulas DAX en LuckyTemplates.
Este tutorial analizará las ideas de materialización de cachés de datos y cómo afectan el rendimiento de DAX al proporcionar resultados.
Si todavía usa Excel hasta ahora, este es el mejor momento para comenzar a usar LuckyTemplates para sus necesidades de informes comerciales.
¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber