================= ******** UNIDAD 3 ******** =================
******** Lección 6: "Instrucciones SQL: Sentencia SELECT" ********
Sentencias en SQL:
SELECT : Los campos que queremos recuperar.
FROM : Tabla donde esta los datos a recuperar
INTO : El destino donde se almacenaran los datos.
WHERE : La condición de las búsqueda.
Ejemplo : SELECT * FROM <tabla> INTO TABLE <tablatemporal>.
En el caso de querer conservar el contenido en la tabla en vez de colocar INTO TABLE, colocamos APPENDING TABLE.
Es recomendable hacer CLEAR y REFRESH en la tabla interna antes de su selección. Despues de un select se debe de preguntar por SY-SUBCR con la sentencia IF-ENDIF.
Si queremos seleccionar la 1era ocurrencia de la tabla, usamos la sentencia SINGLE, que va acompañando al SELECT.
CLEAR <Tabla>.
SELECT SINGLE *
FROM <Tabla>
INTO <TablaTemporal> (estructura)
WHERE campos CONDICIÓN(EQ) valor.
Si queremos obtener los registros y guardalos en una tabla interna sin estructura colocamos la la sentencia INTO CORRESPONDING FIELD OF TABLE.
SELECT zcampos> <campo2>
FROM <tabla>
INTO CORRESPONDING FIELDS OF TABLES <tablainterna>
WHERE <campos> CONDICION(NE) valor.
AUDIO 1: La sentencia anterior realiza la comparacion de los campos, los tipos y la posicion, si en la posicion 1 se encuentra un CHAR quiere decir que en la tabla debe de existir tambien un campo CHAR con la misma longitud.
En el caso de tener un SELECT-OPTIONS en un reporte o programa, en las condiciones en vez de ir un = colocamos un IN.
En el caso de querer obtener el ultimo valor de un parametro especifico colocamos MAX en el SELECT
SELECT SINGLE MAX (Campo)
INTO Variable
FROM <tabla>
WHERE <campo> CONDICIONAL <valor>.
AUDIO 2: Cuando escribimos la sentencia select es igual si escribimos la sentencia INTO o FROM en cualquier orden.
Para obtener la cantidad de datos almacenados en la tabla jugamos con la sentencia COUNT
SELECT COUNT(*)
INTO Variable
FROM <Tabla>.
Podemos usar la sentecia LIKE '%%' para posibles valores que cumplan con las condiciones.