Unidad 3. Consultas simples (II)


3.3. La lista de selección

En la lista de selección <lista_seleccion> indicamos las columnas que se tienen que visualizar en el resultado de la consulta.

<lista_seleccion> ::=

       {  *

         | {nombre_tabla|nombre_vista|alias_tabla}.*

           | { [{nombre_tabla|nombre_vista|alias_tabla}.]

        {nb_columna|$IDENTITY|$ROWGUID}

        |<expresion> 

      }[[AS] alias_columna]

          | alias_columna = <expresion> 

       } [ ,...n ]

  

Separamos la definición de cada columna por una coma y las columnas del resultado aparecerán en el mismo orden que en la lista de selección.

Para cada columna del resultado su tipo de datos, tamaño, precisión y escala son los mismos que los de la expresión que da origen a esa columna.

Podemos definir las columnas del resultado de varias formas, mediante:

  • Una expresión simple:
    • una referencia a una función.
    • una variable local
    • una constante
    • una columna del origen de datos,
  • Una subconsulta escalar, que es otra instrucción SELECT que devuelve un único valor y se evalúa para cada fila del origen de datos (esto no lo veremos de momento).
  • Una expresión compleja generada al usar operadores en una o más expresiones simples.
  • La palabra clave *.
  • La asignación de variables con el formato @variable_local = expresión.
  • La palabra clave $IDENTITY.
  • La palabra clave $ROWGUID.

3.4. Columnas del origen de datos

Cuando queremos indicar en la lista de selección una columna del origen de datos, la especificamos mediante su nombre simple o nombre cualificado. El nombre cualificado consiste en el nombre de la columna precedido del nombre de la tabla donde se encuentra la columna.

Si en el origen de datos hemos utilizado una vista o un nombre de alias, deberemos utilizar ese nombre.  Es obligatorio utilizar el nombre cualificado cuando el nombre de la columna aparece en más de una tabla del origen de datos.

Ejemplos de consulta simple.

Listar nombres, oficinas, y fechas de contrato de todos los empleados:

SELECT  nombre, oficina, contrato

FROM  empleados;

El resultado sería:

nombre oficina contrato
Antonio Viguer 12 1986-10-20
Alvaro Jaumes 21 1986-12-10
Juan Rovira 12  1987-03-01
José González 12 1987-05-19
Vicente Pantalla 13 1988-02-12
Luis Antonio 11  1988-06-14
Jorge Gutiérrez 22 1988-11-14
Ana Bustamante 21 1989-10-12
María Sunta  11 1999-10-12
Juan Victor NULL 1990-01-13

Listar una tarifa de productos:

SELECT  idfab, idproducto, descripcion, productos.precio

FROM  productos;

Hemos cualificado la columna precio aunque no es necesario en este caso. 

El resultado sería:

Idfab idproducto descripcion precio
aci 41001 arandela 0,58
aci 41002 bisagra 0,80
aci 41003 art t3 1,12
aci 41004 art t4 1,23
aci 4100x junta 0,26
aci 4100y  extractor 28,88
aci 4100z mont 26,25
bic 41003 manivela 6,52
bic 41089 rodamiento 2,25
Febrero-2010
Pág. 3.2

Atrás  Inicio  Adelante






.