Instructivo

Almacenamiento de Conocimiento

Herramientas de usuario

Herramientas del sitio


clausula_from

Clausula From

La cláusula from define por sí misma un producto cartesiano de las relaciones que aparecen en la cláusula. La expresión del álgebra relacional «Para todos los clientes que tienen un préstamo en el banco, obtener los nombres, números de préstamo e importes». se escribe como sigue: πnombre-cliente, número-préstamo,importe (prestatarioIXIpréstamo)

Esta consulta puede escribirse en SQL como

select nombre-cliente, prestatario.número-préstamo, importe
from prestatario, préstamo
where prestatario.número-préstamo= 
préstamo.número-préstamo

Se puede extender la consulta anterior y considerando: «Obtener los nombres, números de préstamo e importes de todos los clientes que tienen un préstamo en la sucursal Navacerrada»:

select nombre-cliente, prestatario.número-préstamo, importe
from prestatario, préstamo
where prestatario.número-préstamo = préstamo.número-
préstamo and  nombre-sucursal= ‘Navacerrada’

Renombramiento campo AS

SQL proporciona un alias para renombrar tanto relaciones como atributos. Para ello utiliza la cláusula as, que tiene la forma siguiente:

nombre-antiguo as nombre-nuevo

la cláusula as puede aparecer tanto en select como en from. Considérese de nuevo la consulta anterior:

select distinct nombre-cliente, prestatario.número-préstamo, importe
from prestatario, préstamo
where prestatario.número-préstamo = 
préstamo.número-préstamo

El resultado de esta consulta es una relación con los atributos siguientes: nombre-cliente, número-préstamo, importe.

Por ejemplo, si se quisiera renombrar el atributo

“número-préstamo” 

Asignándole el nuevo nombre de “id-préstamo”, se podría reescribir la consulta anterior del siguiente modo

select nombre-cliente, prestatario.número-préstamo as 
id-prestatario, importe
from prestatario, préstamo
where prestatario.número-préstamo =
préstamo.número-préstamo

La cláusula as es útil en la definición del concepto de variables tupla. Se debe asociar con una relación concreta, definiendose en la cláusula from mediante el uso de la cláusula as. Ejemplo: «Obtener los nombres y números de préstamo de todos los clientes que tienen un préstamo en el banco»

select nombre-cliente, T.número-préstamo, S.importe
from prestatario as T, préstamo as S
where T.número-préstamo = S.número-préstamo

Son de gran utilidad para comparar dos tuplas de la misma relación, recordando que, en los casos de este tipo, se puede usar la operación renombramiento del álgebra relacional. Ejemplo: «Obtener los nombres de todas las sucursales que poseen un activo mayor que al menos una sucursal situada en Barcelona»,

select distinct T.nombre-sucursal
from sucursal as T, sucursal as S
where T.activo > S.activo and S.ciudad-sucursal = ‘Barcelona’
clausula_from.txt · Última modificación: 2017/03/07 11:32 (editor externo)