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’
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’