====== 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». 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 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