Día 3: SQL avanzado para ciencia de datos
Este blog contiene agregación en SQL y palabras clave importantes de SQL (unión, unión de todos, agrupar por, ordenar por, tener, declaraciones de casos).
Hola gente. Espero que todo vaya bien. Aquí está el tercer blog sobre la transición de SQL de lo básico a lo avanzado. Dale una lectura.
Agrupar por
La declaración GROUP BY agrupa filas que tienen los mismos valores en filas de resumen , como "encontrar la cantidad de clientes en cada país". La declaración GROUP BY se usa a menudo con funciones agregadas ( COUNT() , MAX() , MIN() , SUM() , AVG() ) para agrupar el conjunto de resultados por una o más columnas.
Agrupar por tener
La HAVINGcláusula se agregó a SQL porque la WHEREpalabra clave no se puede usar con funciones agregadas.
ordenar por
La cláusula Order by se utiliza cuando necesitamos nuestros datos de forma ascendente o descendente.
. Ordenar por asc (muestra los datos en orden ascendente)
. Ordenar por desc (muestra los datos en orden descendente)
Agrupar por Tener y Ordenar por
Necesitamos usar order by después de tener condition .
Agregación en SQL
Hay varias funciones de agregación. Una función agregada realiza un cálculo en un conjunto de valores y devuelve un solo valor. Excepto por COUNT(*), las funciones agregadas ignoran los valores nulos. Las funciones agregadas a menudo se usan con la cláusula GROUP BY de la instrucción SELECT.
Use funciones agregadas como expresiones solo en las siguientes situaciones:
- La lista de selección de una instrucción SELECT (ya sea una subconsulta o una consulta externa).
- Una cláusula HAVING.
Pregunta: ¿Por qué agrupar por es importante en funciones agregadas?
La instrucción GROUP BY en SQL se utiliza para organizar datos idénticos en grupos con la ayuda de algunas funciones . es decir, si una columna en particular tiene los mismos valores en diferentes filas, organizará estas filas en un grupo. Puntos importantes: la cláusula GROUP BY se usa con la instrucción SELECT.
Suma()
La SUM()función devuelve la suma total de una columna numérica.
Contar()
La COUNT()función devuelve el número de filas que coincide con un criterio específico.
Promedio()
La AVG()función devuelve el valor promedio de una columna numérica.
Min()
La MIN()función devuelve el valor más pequeño de la columna seleccionada.
máx()
La MAX()función devuelve el valor más grande de la columna seleccionada.
Alias SQL
Los alias de SQL se utilizan para dar a una tabla, oa una columna de una tabla, un nombre temporal. Los alias se utilizan a menudo para hacer que los nombres de las columnas sean más legibles.
Se crea un alias con la ASpalabra clave.
Aquí, lastpurchase es un alias para cada vendedor que tiene su última fecha de venta.
UNIÓN SQL
El UNIONoperador se utiliza para combinar el conjunto de resultados de dos o más SELECTdeclaraciones.
- Cada
SELECTdeclaración dentroUNIONdebe tener el mismo número de columnas - Las columnas también deben tener tipos de datos similares.
- Las columnas en cada
SELECTdeclaración también deben estar en el mismo orden
select user_id,name from user
union
select guest_user_id,name from Guest;
select user_id,name from user
union all
select guest_user_id,name from Guest;
El operador SQL INTERSECT combina dos sentencias de selección y devuelve sólo el conjunto de datos que es común en ambas sentencias . En pocas palabras, actúa como una intersección matemática. En matemáticas, la intersección de A y B son los datos comunes presentes tanto en A como en B.
select user_id,name from user
Intersect
select guest_user_id,name from Guest;
La cláusula/operador SQL EXCEPT se usa para combinar dos declaraciones SELECT y devuelve filas de la primera declaración SELECT que no son devueltas por la segunda declaración SELECT. Esto significa que EXCEPT devuelve solo filas, que no están disponibles en la segunda instrucción SELECT.
Al igual que con el operador UNION, se aplican las mismas reglas cuando se usa el operador EXCEPT.
select user_id,name from user
Except
select guest_user_id,name from Guest;
La CASEexpresión pasa por las condiciones y devuelve un valor cuando se cumple la primera condición (como una declaración if-then-else). Entonces, una vez que una condición es verdadera, dejará de leer y devolverá el resultado. Si ninguna condición es verdadera, devuelve el valor de la ELSEcláusula.
Si no hay ELSEparte y ninguna condición es verdadera, devuelve NULL.
## Case statements
select user_id ,age,gender,case when age >= 25 and gender = 'F' then 1 else 0 end from user ;
## Case statement with count
select gender , count(case when gender = 'F' then user_id end) female ,
count(case when gender = 'M' then user_id end) male from user group by 1;
## In one statement
select gender , count(case when gender = 'F' then user_id when gender = 'M' then user_id end) from user group by 1;
## In one statement with more than one condition
select gender , count(case when age >= 25 and gender = 'F' then user_id when age >= 25 and gender = 'M' then user_id end) from user group by 1;
GITHUB: DÍA 3 Sesión
Referencia :
- https://www.w3schools.com/sql/default.asp
- https://www.geeksforgeeks.org/
¡ Sígueme para más publicaciones relacionadas con la ciencia de datos!
¡Conectémonos en LinkedIn !
Obtenga su NFT de personalidad
y encuentre su comunidad donde quiera que vaya

![¿Qué es una lista vinculada, de todos modos? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































