miércoles, 7 de septiembre de 2011

Cobol: Utilizar sentencias SQL: seleccionar 1.


     Para seleccionar filas en una tabla lo haremos mediante la sentencia SELECT cuya sintaxis es la siguiente:

              SELECT {*|{columna,}} FROM {TABLA,}[WHERE CONDICIÓN]
                         [ORDER BY {COLUMNA [ASC|DESC],}

     A tener en cuenta:


        1) Después de escribir SELECT debemos indicar * (se mostraría todas las columnas existentes en la tabla) o indicamos aquellas columnas que queremos ver. Ejemplos:

               SELECT * FROM TABLA


               SELECT COLUMNA3, COLUMNA7 FROM TABLA


        2) Después de escribir FROM debemos indicar la tabla o tablas de donde queremos ver la información. Ejemplos:


               SELECT * FROM TABLA1


               SELECT * FROM TABLA1, TABLA2

               SELECT A.COLUMNA1, B.COLUMNA8 FROM TABLA1 A, TABLA2 B


        3) Cláusula WHERE: se utiliza para seleccionar aquellas filas que cumplan la condición indicada. En esta cláusula se utilizan una serie de operadores que veremos en la siguiente entrada. Ejemplos:


               SELECT * FROM TABLA1 WHERE FECHA_ANTIG >= '20110101'


               SELECT A.NOMBRE, B.SALARIO FROM TABLA1 A, TABLA2 B
               WHERE (B.FECHA_ANTIG >= '20110101' AND
                           A.COD_EMPL = B.COD_EMPL)

        4) Cláusula ORDER BY: se utiliza para ordenar las filas devueltas por la select. Podemos indicar ASC para que muestre los datos ordenados de manera ascendente (de menor a mayor) o DESC para que muestre los datos ordenados de manera descendente (de mayor a menor). Ejemplos:


               SELECT * FROM TABLA1
               WHERE FECHA_ANTIG >= '20110101'
               ORDER BY FECHA_ANTIG         (1)


               SELECT * FROM TABLA1
               WHERE FECHA_ANTIG >= '20110101'
               ORDER BY FECHA_ANTIG ASC         (2)


               SELECT A.NOMBRE, B.SALARIO FROM TABLA1 A, TABLA2 B
               WHERE (B.FECHA_ANTIG >= '20110101' AND
                           A.COD_EMPL = B.COD_EMPL)
               ORDER BY B.FECHA_ANTIG DESC

               (1) y (2) son equivalentes.

No hay comentarios:

Publicar un comentario