0% fanden dieses Dokument nützlich (0 Abstimmungen)
9 Ansichten1 Seite

SQL Chuleta

Das Dokument beschreibt SQL-Abfragen und Join-Operationen zur Abfrage von Daten aus relationalen Datenbanken. Es werden grundlegende Konzepte wie Selektion, Projektion, Sortierung sowie verschiedene Arten von Joins wie INNER JOIN, LEFT JOIN, RIGHT JOIN und FULL JOIN erklärt.

Hochgeladen von

rociosnowhite
Copyright
© All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
0% fanden dieses Dokument nützlich (0 Abstimmungen)
9 Ansichten1 Seite

SQL Chuleta

Das Dokument beschreibt SQL-Abfragen und Join-Operationen zur Abfrage von Daten aus relationalen Datenbanken. Es werden grundlegende Konzepte wie Selektion, Projektion, Sortierung sowie verschiedene Arten von Joins wie INNER JOIN, LEFT JOIN, RIGHT JOIN und FULL JOIN erklärt.

Hochgeladen von

rociosnowhite
Copyright
© All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen

La chuleta SQL de Cursatica

SQL Filtrado Consultar varias tablas


SQL o lenguaje de consulta estructurada INNER JOIN FULL JOIN

(Structured Query Language) es un Comparaciones

lenguage para comunicarse con bases de INNER JOIN o de forma implícita JOIN
Consultar el nombre de las ciudades devuelve las filas para las que hay FULL JOIN (explícitamente FULL OUTER
datos relacionales. SQL te permite JOIN) devuelve todas las filas de
seleccionar datos y construir informes con nota mayor de 6: conincidencias en ambas tablas.
ambas tablas. Si no hay coincidencia
complejos. Se utiliza en casi todos los SELECT nombre FROM ciudad
SELECT [Link], [Link], en alguna de las filas, el resultado
sitemas que almacenan datos. WHERE nota > 6; ci.id_pais, [Link], [Link]
es nulo para esa fila y tabla (NULL)
Datos de muestra FROM ciudad AS ci
SELECT [Link], [Link],
Consultar el nombre de las ciudades [INNER] JOIN pais AS pa

diferentes a Caracas: ci.id_pais, [Link], [Link]

País ON ci.id_pais = [Link]; FROM ciudad AS ci

id Nombre Área Población SELECT nombre FROM ciudad


Ciudad País FULL [OUTER] JOIN pais AS pa

1 España 505944 47450795 WHERE nombre <> 'Caracas'; id Nombre id_pais id Nombre ON ci.id_pais = [Link];
2 Venezuela 916455 28704947
1 Madrid
1 1 España
... ... ... ... Venezuela Ciudad País
Operaciones con texto
2 Caracas 2 2
Ciudad ... ... ... ... ... id Nombre id_pais id Nombre
id Nombre id_pais Población Nota España
Consultar el nombre de las ciudades que LEFT JOIN 1 Madrid
1 1
1 Madrid
1 3223394 10 empiecen por E o termien por s: Venezuela
2 Caracas 2 1943901 6 LEFT JOIN consulta todas las filas de 2 Caracas 2 2
... ... ... ... ... SELECT nombre FROM ciudad
la tabla izquierda y las filas que NULL NULL NULL 11 Chile
WHERE nombre LIKE 'E%'
coincidan de la tabla derecha. Si no
19 Bogotá 8 NULL NULL
Consultar una tabla
OR nombre LIKE '%s'; hay una fila coincidente en la tabla
derecha, el resultado será
sera nulo (NULL)
Consultar todas las columnas y filas
de la tabla país: Consultar el nombre de las ciudades que SELECT [Link], [Link], CROSS JOIN

SELECT * FROM pais; comiencen por cualquier letra seguidas ci.id_pais, [Link], [Link]
CROSS JOIN devuelve todas las
de “ublín” como Dublín in Irlanda: FROM ciudad AS ci
combinaciones de filas de la primera
Consultar las columnas nombre y área LEFT JOIN pais AS pa

de la tabla país: SELECT nombre FROM ciudad


tabla con la segunda tabla. Si la
ON ci.id_pais = [Link]; primera tabla tiene N filas y la segunda
SELECT nombre, area FROM pais; WHERE nombre LIKE '_ublín';
Ciudad País M, el resultado tendra M por N filas. El
Consultar el nombre de las ciudades id Nombre id_pais id Nombre CROSS JOIN se utiliza poco.
ordenados por nota en orden ASCendente: Otras operaciones
1 Madrid
1 1 España
SELECT [Link], [Link],
SELECT nombre FROM ciudad
Consultar el nombre de las ciudades con 2 Caracas 2 2 Venezuela ci.id_pais, [Link], [Link]

ORDER BY nota [ASC]; población entre 1M y 5M: 19 Bogotá 8 NULL NULL


FROM ciudad AS ci

Consultar el nombre de las ciudades SELECT nombre FROM ciudad


RIGHT JOIN CROSS JOIN pais AS pa;
ordenados por nota en orden DESCendente: WHERE poblacion
RIGHT JOIN consulta todas las filas de
BETWEEN 1000000 AND 5000000; la tabla derecha y las filas que
Ciudad País
SELECT nombre FROM ciudad

coincidan de la tabla izquierda. Si no id Nombre id_pais id Nombre


ORDER BY nota DESC;
hay una fila coincidente en la tabla España
Alias Consultar el nombre de las ciudades a izquierda, el resultado será nulo. 1 Madrid
1 1
las que no le falte nota: 1 Madrid 1 2 Venezuela
Se utilizan alias para renombrar SELECT [Link], [Link],
columnas y tablas. ci.id_pais, [Link], [Link]

SELECT nombre FROM ciudad


1 Madrid 1 11 Chile
Columnas WHERE nota IS NOT NULL; FROM ciudad AS ci
... ... ... ... ...
SELECT nombre AS nombre_ciudad RIGHT JOIN pais AS pa

FROM ciudad; ON ci.id_pais = [Link]; Hay una sintaxis alternativa para el


Consultar el nombre de las ciudades con CROSS JOIN que nos devuelve el mismo
Tablas
los id_pais en la lista (1,2,9): Ciudad País
id Nombre resultado:
SELECT [Link], [Link]
id Nombre id_pais
FROM ciudad AS ci
1 Madrid
1 1 España SELECT [Link], [Link],
SELECT nombre FROM ciudad

JOIN pais AS pa
2 Caracas 2 2 Venezuela ci.id_pais, [Link], [Link]

WHERE id_pais IN (1,2,9);


ON ci.id_pais = [Link]; NULL NULL NULL 11 Chile FROM ciudad AS ci, pais AS pa;

Aprende SQL desde cero hasta experto con múltiples recursos interactivos en [Link]

La chuleta SQL de Cursatica


Agrupar y agreagar Subconsultas (Subqueries)
GROUP BY agrupa las filas que tengan los mismos Una subconsulta o subquery es una consulta que esta Operaciones con sets
anidada dentro de otra consulta o subconsulta. Las operaciones con sets se utilizan para combinar
valores en las columnas especificadas. Luega calcula el resultado de una o más consultas en uno solo.
métricas (agrega las filas) para cada una de las Valor único
Las columnas resultantes deben tener el mismo
combinaciones de valores únicos. número de columnas y tipos de datos compatibles. El
La subconsulta más sencilla devuelve una única fila
y un único valor. Ese valor puede ser utilizado con nombre de las columnas puede ser diferente.
Nombre id_pais Agrupar id_pais
count
múltiples operadores comparativos como <,=,>...

Madrid 1 GROUP BY + 1
3 Tabla: digital Tabla: analogico
Agregar
Valencia 1 2 2 La siguiente consulta muestra las ciudades cuya tienda producto cantidad tienda producto cantidad
COUNT
Barcelona
1 nota es la máxima asignada en la tabla ciudades:
17 2 1 móvil 17
1 libro 199

Caracas
2 SELECT nombre FROM ciudades

1 tablet 11 2 pelota 179


Maracaibo
2 SELECT nombre, COUNT(id_pais)
WHERE rating = (

Londres 17 FROM ciudad


SELECT MAX(rating) FROM ciudades); 3 pila
101
3 pila 101
Liverpool 17 GROUP BY id_pais;
Varios valores
UNION
Funciones para agregar
Una subconsulta puede devolver varias filas y o UNION combina el resultado de dos consultas
varias columnas. El resultado puede ser comparado añadiendo al final del resultado de la primera
avg(exp) - Calcula la media de las filas del grup con operadores como IN, ANY, ALL, EXISTS.

el resultado la segunda y elimina registros


count(exp) - Recuenta las filas del grup duplicados.
max(exp) - Calcula el máximo del las filas del grup La siguiente consulta muestra las ciudades de UNION ALL es similar a UNION pero NO elimina
min(exp) - Calcula el mínimo del las filas del grup países con una población superior a 10M: registros (filas) duplicados.

sum(exp) - Calcula la suma de las filas del grupo


SELECT nombre FROM ciudades

La siguiente consulta une los resultados de


Ejemplos de consultas
WHERE id_pais IN (
ejecutar ambas consultas y devuelve todos los
SELECT id FROM pais
productos por tienda y su cantidad:
Recuento del número de ciudades: WHERE poblacion > 20000000);
SELECT tienda, producto, cantidad

SELECT COUNT(*) FROM ciudades; Consultas correlacionadas FROM digital

Recuento del número notas no nulas: En una subconsulta correlacionada (correlated UNION [ALL]

subquery) la subconsulta hace referencia a la SELECT tienda, producto, cantidad

SELECT COUNT(nota) FROM ciudades; FROM digital;


consulta exterior (outer query), por lo que la
Recuento de identificadores únicos de país: subconsulta no puede ser ejecutada de forma
independiente.

ITERSECT
SELECT COUNT(DISTINCT id_pais) FROM ciudades; INTERSECT devuelve solo las filas que aparezcan en
La siguiente consulta devuelve las ciudades cuya ambos resultados.

Valores máximos y mínimos de población: población sea mayor a la media de la población del
país: SELECT tienda, producto, cantidad

SELECT MAX(poblacion), MIN(poblacion)


FROM digital

FROM ciudades; SELECT * FROM ciudades AS ci_exterior

WHERE poblacion > (


INTERSECT

SELECT AVG(poblacion)
SELECT tienda, producto, cantidad

Suma de población por agrupando por país:


FROM ciudades AS ci_media
FROM digital;
SELECT id_pais, SUM(poblacion)

FROM ciudades GROUP BY id_pais; WHERE


EXCEPT
ci_media.id_pais = ci_exterior.id_pais); EXCEPT devuelve las filas que aparezcan en el
Valor medio de la nota de ciudades por país para los La siguiente consulta devuelve el nombre de los primer set resultado pero no en el segundo set.

países que tengan más de cuatro ciudades con nota: países que tengan al menos una ciudad en la tabla
ciudades:
SELECT tienda, producto, cantidad

FROM digital

SELECT id_pais, AVG(nota)


SELECT nombre FROM pais

EXCEPT

FROM ciudades GROUP BY id_pais


WHERE EXISTS (

SELECT tienda, producto, cantidad

HAVING COUNT(nota) > 3; SELECT * FROM ciudades

FROM digital;
WHERE id_pais = [Link]);

Aprende SQL desde cero hasta experto con múltiples recursos interactivos en [Link]

Das könnte Ihnen auch gefallen