Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Consultas SQL 15
1. Tarea 8: Consultas
Elaborar un informe con 15 clausulas SQL indicando su definición y ejemplo.
Ejemplo: Distinct= Permite extraer valores exclusivos de un campo
select distinct direccion from cliente
1.-FROM= Indicar que tablas se usan en ella secuencia SELECT.
FROM nombre_tabla [alias_tabla] [, nombre_tabla [alias_tabla]]
SELECT *FROM Vendedores INNER JOIN Datos_ventas ON
Vendedores.Vendedor_ID =Datos_ventas.Vendedor_ID
2.-WHERE = Especificar las condiciones que deben cumplirlos registros para ser
recuperados .
WHERE expr1 operador_rel expr2
SELECT apellidos,nombre FROM emp WHERE salario >= 250
3.-GROUP BY =Especificar los nombres de uno o varios campos según los cuales se
deben agrupar los valores devueltos. Esta cláusula se utiliza para devolver un conjunto de
valores sumados devolviendo una fila para cada grupo .
GROUP BY columnas
SELECT id_dep, SUM (salario) FROM emp GROUP BY id_dep
4.-HAVING =Especificar las condiciones para los grupos de registros (por ejemplo,
mostrar sólo los departamentos con salarios que sumen más de s/.800 ).
HAVING expr1 operador_rel expr2
SELECT id_dep, SUM (salario) FROM emp
GROUP BY id_dep HAVING SUM (salario) > 800
5.-UNION= Combine los resultados de dos o más secuencia SELECT en un único
resultado.
secuencia SELECT UNION [ALL] secuencia SELECT
SELECT apellidos, salario, fecha_contratación FROM emp UNION SELECT
nombre, paga, cumpleaños FROM persona
6.-ORDER BY =Indique cómo se ordenan los registros
ORDER BY {expresión_ordenación [DESC | ASC]}, ...
SELECT emp_id, apellidos, nombre FROM emp ORDER BY apellidos,
nombre
o
SELECT emp_id, apellidos, nombre FROM emp ORDER BY 2,3
2. 7.-OFFSET=Determine el número de filas que se salten antes de empezar a recuperar
filas.
OFFSET n {ROWS | ROW} ]
SELECT emp_id, apellidos, nombre FROM emp ORDER BY apellidos,
nombre
OFFSET 25 ROWS
8.-FETCH FIRST=Especifique el número de filas que se vayan a recuperar. No se
devuelven más filas del número especificado aunque se pueden devolver menos filas si la
consulta encuentra un número menor al especificado.
FETCH FIRST [ n [ PERCENT ] ] { ROWS | ROW } {ONLY | WITH TIES } ]
SELECT emp_id, apellidos, nombre FROM emp ORDER BY apellidos, nombre
OFFSET 25 ROWS FETCH FIRST 10 ROWS ONLY
9.-FOR UPDATE=Realice actualizaciones posicionadas o eliminaciones posicionadas
mediante cursores SQL
FOR UPDATE [OF expresiones_columna]
SELECT * FROM emp WHERE salario > 20000
FOR UPDATE OF apellidos, nombre, salario
10.-PROCEDURE=Esta cláusula es poco usual y se utiliza para crear una consulta a la
misma vez que se ejecuta, opcionalmente define los parámetros de la misma.
PROCEDURE NombreConsulta Parámetro1 tipo1, .... , ParámetroN tipon ConsultaSQL
PROCEDURE Lista_Categorias; SELECT DISTINCTROW Nombre_Categoria,
ID_Categoría FROM Categorias ORDER BY Nombre_Categoria;
11.-BETWEEN=Comprueba si un valor está comprendido en un rango de valores.
SELECT * FROM alumnos WHERE promedio BETWEEN 1000 AND 2000;
12.-LIKE=El operador LIKE permite realizar comparaciones con cadenas de caracteres.
Se pueden utilizar los siguientes comodines: (*)cualquier cadena de 0 o más caracteres y
(_)representa un carácter cualquiera.
Alumnos cuyo apellido comience por la letra A.
SELECT * FROM alumnos WHERE ape1 LIKE ‘A%’;
Empleados cuyo apellido termine por la letra S.
SELECT * FROM ape1 WHERE ape1 LIKE ‘%S’;
Alumnos cuyo apellido tenga una M en cualquier posición.
SELECT * FROM alumnos WHERE ape1 LIKE ‘%M%’;
Empleados cuyo apellido tenga una M en la tercera posición.
SELECT * FROM alumnos WHERE ape1 LIKE ‘__M%’;
3. 13.-IN=Permite comprobar si una expresión pertenece a un conjunto de valores.
Obtener las notas de las carreras de computación o inglés.
SELECT * FROM notas WHERE carrera IN (‘C’,’I’);
14.-DISTINCT=Omite los registros que contienen datos duplicados en los campos
seleccionados. Para ser incluidos en los resultados de la consulta, los valores de cada
campo enumerado en la instrucción SELECT deben ser únicos.
SELECT DISTINCT ape2 FROM alumnos
15.-CROSS JOIN=Las combinaciones cruzadas (cross join) muestran todas las
combinaciones de todos los registros de las tablas combinadas.
select CAMPOS
from TABLA1
cross join TABLA2;
Un pequeño restaurante(EL RICO) almacena los nombres y precios de sus comidas en una tabla llamada
"comidas" y en una tabla denominada "entrada postres" los mismos datos de sus postres.
select c.nombre as platoprincipal, p.nombre as Entrpostre
from comidas as c
cross join Entrpostres as p;