Logo Studenta

SQL - Consultas de Resumen-Subconsultas-Vistas

¡Estudia con miles de materiales!

Vista previa del material en texto

DML-SELECT: 
Consultas de Resumen
Son consultas cuyas filas resultantes son un resumen de las filas de la tabla origen y estas a 
su vez pueden ser resumen de otras filas y así sucesivamente.
Su sintaxis es la siguiente:
La cláusula GROUP BY y HAVING sólo se pueden utilizar en 1 consulta de resumen, 
DML-SELECT: 
Consultas de Resumen(Continuación)
Funciones de Columna
En la lista de selección de una consulta de resumen aparecen fciones de columna también 
denominadas fciones de dominio agregadas. 1 fción de columna se aplica a una columna y 
obtiene un valor que resume el contenido de la columna.
Las funciones de columna mas comunes usadas son:
SUM(expresión), AVG(expresión), STDEV(expresión), STDEVP(expresión), MIN(expresión), 
MAX(expresión), COUNT(nombrecolumna) y COUNT(*).
Ejemplos sencillos podrían ser:
SELECT AVG(col1) AS media FROM tabla1 
SELECT (AVG(ventas) * 3) + SUM(cuota) FROM pagos
SELECT SUM(ventas) FROM empleados WHERE oficina = 12 
DML-SELECT: 
Consultas de Resumen(Continuación)
Group by
Permite obtener subtotales. 1 consulta con 1 cláusula GROUP BY se denomina consulta 
agrupada ya q agrupa los datos de la tabla origen y produce 1 única fila resumen x c/grupo 
formado. Las columnas indicadas en el GROUP BY se llaman columnas de agrupación. 
Por ejemplo:
SELECT idlocalidad, SUM(votos) FROM votos GROUP BY idlocalidad
Having
Es similar a WHERE pero permite seleccionar filas de la tabla resultante de una 
consulta de resumen. 
Por ejemplo:
SELECT oficina FROM empleados GROUP BY oficina HAVING AVG(ventas) > 5000 
DML-SELECT: SubConsultas
Es 1sentencia SELECT q aparece dentro de otra sentenc.SELECT llamada consulta principal. 
Se puede encontrar en la lista de selección, en la cláusula WHERE o en la cláusula 
HAVING de la consulta principal. 
1 subconsulta tiene la misma sintaxis q 1sentencia SELECT normal exceptuando q aparece 
encerrada entre paréntesis. 
No puede contener la cláusula ORDER BY, ni puede ser la UNION de varias sentencias SELECT. 
Cuando se ejecuta 1consulta q contiene 1subconsulta, la misma se ejecuta x c/fila de la 
consulta principal. 
Ejemplos de Subconsultas:
SELECT numemp, nombre FROM empleados WHERE contrato = (SELECT MIN(fechapedido) FROM 
pedidos) 
SELECT oficina, ciudad FROM oficinas WHERE objetivo > ANY (SELECT SUM(cuota) FROM 
empleados GROUP BY oficina) 
SELECT oficina, ciudad FROM oficinas WHERE objetivo > ALL (SELECT SUM(cuota) FROM 
empleados GROUP BY oficina) 
SELECT numemp, nombre, oficina FROM empleados WHERE oficina IN (SELECT oficina FROM 
oficinas WHERE region = 'este') 
SELECT numemp, nombre, oficina FROM empleados WHERE EXISTS (SELECT * FROM oficinas
WHERE region = 'este' AND empleados.oficina = oficinas.oficina) 
SQL: Vista 
 Es 1consulta q se presenta como 1tabla (virtual) a partir de 1conj.de tablas en 1BD 
Relacional. Tienen la misma estructura que 1 tabla: filas y columnas, pero solo almacena 
la definición, no los datos.
 Sintaxis
CREATE VIEW nombrevista AS
Sentencia_Select
FROM nombre_tabla;
 Ejemplo
CREATE VIEW vista_empleados AS
select (apellido+' '+e.nombre) AS nombre, sexo, s.nombre AS seccion
FROM empleados AS e JOIN secciones AS s ON codigo=sección
 Luego se lo trabaja como si fuera una tabla: select * from vista_empleados;
 Permiten
Ocultar información. 
 Simplificar la administración de los permisos de usuarios.
Mejorar el rendimiento.

Continuar navegando

Otros materiales