Instructivo

Almacenamiento de Conocimiento

Herramientas de usuario

Herramientas del sitio


with

with

La cláusula with proporciona una forma de definir una vista temporal, disponible sólo para la consulta en la que aparece esta cláusula.

Considérese: «seleccionar cuentas con el saldo máximo; si hay muchas cuentas con el mismo saldo máximo, todas ellas se seleccionan».

<code>with saldo-máximo(valor) as
				select max (saldo)
				from cuenta
select número-cuenta
from cuenta, saldo-máximo
where cuenta.saldo = saldo-máximo.valor</code>

La cláusula with introducida en SQL:1999 se incluye actualmente sólo en algunas bases de datos.

Anidadando from y where en una subconsulta, hace que la consulta sea más difícil de leer y entender La cláusula with hace que la lógica de la consulta sea más clara; también permite usar una definición de vista en varios lugares de una consulta. Por ejemplo, «encontrar todas las sucursales donde el depósito de cuentas es mayor que la media del total de depósitos de cuentas en todas las sucursales». El borrado anterior selecciona primero todas las sucursales con sede en Navacerrada y a continuación borra todas las tuplas cuenta pertenecientes a esas sucursales.

with total-sucursal(nombre-sucursal,valor) as
			select nombre-sucursal, sum(saldo)
			from cuenta
			group by nombre-sucursal
with total-media-sucursal(valor) as
			select avg(valor)
			from total-sucursal
select nombre-sucursal
from total-sucursal, total-media-sucursal
where total-sucursal.valor > = total-mediasucursal.valor
with.txt · Última modificación: 2017/03/07 11:32 (editor externo)