Documente Academic
Documente Profesional
Documente Cultură
Múltiples Consultas
Subconsultas anidadas
Comparación de conjuntos
Considérese la consulta 26.- «Obtener los nombres de todas las sucursales que
poseen un activo mayor que al menos una sucursal situada en Barcelona» Se
formulaba esta consulta del modo siguiente:
La subconsulta:
(select activo
from sucursal
where ciudad-sucursal = 'Barcelona')
Genera el conjunto de todos los valores de activo para todas las sucursales
sitas en Barcelona. La comparación > some, en la cláusula where de la
cláusula select más externa, es cierta si el valor del atributo activo de la tupla
es mayor que al menos un miembro del conjunto de todos los valores de
activo de las sucursales de Barcelona.
SQL también permite realizar las comparaciones < some, <= some, >= some,
= some y <> some. Here Como ejercicio, se puede verificar que = some es
identico a in, mientras que <= some no es lo mismo que not in. En SQL, la
palabra c1ave any es sinónimo de some. Las versiones más antiguas de SQL
solo admitían any. Sin embargo, versiones posteriores añadieron la alternativa
some para evitar la ambigüedad lingüística de la palabra inglesa any.
Qué Realizar y Ahora la consulta se modificara ligeramente a fin de obtener los nombres de
anali
zar, todas las sucursales que tienen un activo superior al de todas las sucursales de
conti Barcelona. La constructora > all corresponde a la expresión «superior a
núa
todas». Utilizando esta constructora la consulta se podría formular del modo
siguiente:
Al igual que con some, SQL también permite utilizar las comparaciones < all,
<= all, >= all, = all y <> all. Como ejercicio se puede verificar que <= any es
1o mismo que not in.
Here Como otro ejemplo de comparaciones considérese la consulta
«Encontrar la sucursal que tiene el mayor saldo medio» En SQL, las
funciones de agregación no se pueden componer. Así, no esta permitido el
uso de Max (avg (...)).
Qué Realizar y Por ello, para la formulación de esta consulta se seguirá la estrategia
anali
zar, siguiente: para empezar se formula una consulta para encontrar todos los
conti saldos medios, y luego se anida esta como subconsulta de una consulta mas
núa
larga que encuentre aquellas sucursales para las que el saldo medio es mayor
o igual que todos los saldos medios:
29.- select nombre-sucursal
from cuenta
group by nombre-sucursal
having avg (saldo) >= all (select avg (saldo)
from cuenta
group by nombre-sucursal)
Qué Enviar • En el DBMS access la bd y las consultas
• En el DBMS mysql4 las pantallas en un documeto word donde se
aprecien las Consultas realizadas y su resultado correspondiente
p.d.
“Viva Dios La Familia y El Estudio”
Atte.
Knigthofthekindomoftheheaven/AAC