SQL PARA PRINCIPIANTES
Sebastien Polis
Resumen final
Consulta básica
Todas las consultas de SQL deben
empezar con la cláusula SELECT.
La cláusula FROM es la que indica de qué SELECT
tabla se extrae la data.
Columna_1,
La cláusula WHERE nos permite filtrar los Columna_2
datos según condiciones lógicas que FROM tabla_A
imponemos usando funciones como LIKE WHERE columna_1 = 5 AND columna_2 ILIKE ‘Test’
y ILIKE o BETWEEN, AND y OR.
ORDER BY Columna_2
Podemos ordenar nuestros resultados LIMIT 10
usando ORDER BY y usar LIMIT para
limitar la cantidad de resultados
mostrados.
Agregaciones y
funciones ventana
Podemos resumir una tabla agrupando
según los valores de una columna usando
GROUP BY. SELECT
Columna_1,
Una vez agrupada la tabla, podemos COUNT(columna_2),
resumir los valores usando funciones
SUM(columna_3),
como SUM, AVG, MAX y MIN.
AVG(columna_4),
La cláusula HAVING nos permite filtrar los MAX(columna_5),
resultados después de que estos hayan LAG(columna_6) OVERT (PARTITION BY
sido resumidos.
columna_1)
Podemos usar funciones ventana para FROM tabla_A
partir tablas según los valores de una GROUP BY Columna_1
columna y así hacer operaciones dentro HAVING SUM(columna_3) > 5 AND AVG(columna_4) < 1
de estas particiones.
JOINS
Los JOINS se utilizan cuando queremos
agregar los valores de una tabla a otra.
Para esto utilizamos las llaves primarias y SELECT
secundarias en conjunto con las cláusulas A.Columna_1,
LEFT JOIN, CROSS JOIN, FULL OUTER B.Columna_2
JOIN e INNER JOIN.
FROM tabla_A AS A LEFT JOIN tabla_B AS B ON
Siempre es importante saber la relación A.id = B.id
entre las tablas para poder hacer un JOIN
correctamente. Para eso siempre es útil
tener un diagrama ER a la mano!
Funciones Especiales
WITH T1 AS (SELECT
SQL nos ofrece varias funciones a la hora DATE_TRUNC(‘DAY’,Columna_1),
de trabajar con diferentes tipos de datos
como DATE_TRUNC y DATE PART o COALESCE(columna_3,Columna_4)
COALESCE y NULLIF. CASE
WHEN columna_1 > 5 then 1
También podemos hacer uso de la ELSE 0
cláusula CASE para generar nuevas
columnas con nuevos valores en base a END AS nueva_columna,
condiciones lógicas COALESCE(columna_3, ‘texto
alternativo)
También podemos grabar los resultados FROM tabla_A )
de unas consultas para ser utilizadas en
consultas más complejas, haciendo uso
de las SUB QUERIES. SELECT
*
FROM T1
Creando Tablas y DBs
SQL nos permite crear nuestras propias
bases de datos y nuestras propias tablas
CREATE TABLE tabla_a AS(
usando la cláusula CREATE seguida por la
palabra clave TABLE o DATABASE. Id integer,
Nombre text,
A la hora de crear una tabla, es necesario Apellido text
especificar cada columna y el tipo de
)
data de esa columna.
Esto también es posible usando la UI de CREATE DATABASE AS New Database
PGAdmin.