Tabla de Contenidos

Clausula Select

El resultado de una consulta SQL, es una relación. Considérese «Obtener los nombre de todas las sucursales en la relación préstamo»:

select nombre-sucursal
from préstamo

"Distinct o All"

SQL permite usar las palabras claves “distinct” o “all” para especificar explícitamente se eliminen o no los duplicados:

select distinct nombre-sucursal
from préstamo

O también

select all nombre-sucursal
from préstamo

* (asterisco)

El símbolo asterisco «*» se puede usar para denotar «todos los atributos».

select préstamo.* 
from préstamo

La cláusula select puede contener también expresiones aritméticas que contengan los operadores, +, –, * y / operando sobre constantes o atributos de la tuplas.

select nombre-sucursal, número-préstamo,
 importe * 100
from préstamo

devolverá una relación que es igual que la relación préstamo, salvo que el atributo importe está multiplicado por 100.

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’