✒️ABAP / El lenguaje SQL y la sentencia SELECT Por Juan Romero
ABAP El lenguaje SQL y la sentencia SELECT

El lenguaje SQL y la sentencia SELECT
SQL es un lenguaje de consulta estructurado usado como interfaz para comunicarse con bases de datos, permitiendo operaciones de selección, inserción, actualización y borrado de datos, además de tareas administrativas.
Permite hacer cálculos avanzados y álgebra.
Es el lenguaje de programación más usado para bases de datos relacionales y está estandarizado por ANSI.
Sistemas gestores de base de datos comunes que usan SQL incluyen Oracle, SAP HANA, MySQL, Microsoft SQL Server, Microsoft Access, e Ingres.
Aunque SQL es estándar, cada sistema puede tener sus propias extensiones propietarias.
El conocimiento de SQL básico facilita trabajar en diferentes gestores, ya que las bases son similares, pero existen diferencias en funciones y bloques de sentencias.
Tipos de sentencias SQL
Las sentencias SQL se pueden clasificar en:
Lenguaje de definición de datos (DDL): define estructuras como bases de datos, esquemas y tablas, mediante sentencias como CREATE, ALTER, y DROP.
Lenguaje de manipulación de datos (DML): manipula datos en objetos existentes, usando SELECT, INSERT, UPDATE, MODIFY y DELETE.
Lenguaje de control de datos (DCL): otorga o retira permisos sobre los objetos con GRANT y REVOKE.
Uso de la sentencia SELECT en ABAP
El comando SELECT es la sentencia de consulta más importante en SQL, empleada para recuperar información de una o varias tablas.
Permite filtrar registros según condiciones determinadas.
Sintaxis básica en ABAP incluye variantes como:
SELECT * INTO TABLE: Recuperar todos los registros y campos de la tabla.
SELECT * APPENDING TABLE: Agregar los resultados a una tabla interna existente, manteniendo su contenido anterior.
SELECT campo1: Recuperar campos específicos, recomendando crear una tabla auxiliar para almacenar el resultado.
SELECT SINGLE: Obtener la primera ocurrencia que cumple una condición, guardando el resultado en una estructura o variable.
SELECT INTO CORRESPONDING FIELDS OF TABLE: Guardar resultados en una tabla interna con diferente formato al origen.
SELECT WHERE IN: Usar para filtrar basándose en una lista de valores.
SELECT MAX: Obtiene el valor máximo de un campo bajo determinada condición.
SELECT COUNT: Cuenta la cantidad de registros que cumplen una condición.
SELECT FOR ALL ENTRIES IN: Realizar consultas basadas en datos cargados en una tabla interna.
SELECT LIKE: Selecciona registros que cumplen con un patrón de texto.
Es importante consultar la variable de sistema sy-subrc tras cada SELECT para verificar el resultado y evitar errores en caso de no coincidencia de formatos entre fuente y destino.
Se recomienda limpiar (refresh o clear) las tablas internas o variables antes de cargar nuevos datos.
Joins en SQL: INNER JOIN y LEFT OUTER JOIN
SELECT INNER JOIN permite recuperar registros en común (intersección) entre dos tablas según condición de unión.
Ejemplo de uso con tablas estándar de SAP para traer campos relevantes de cabecera y posiciones de factura.
SELECT LEFT OUTER JOIN permite recuperar los registros comunes junto con los registros "exteriores" de la tabla ubicada a la izquierda de la sentencia JOIN.
Sugerencias y Buenas Prácticas
Evitar SELECT * cuando solo se requieren algunos campos.
Después de cada SELECT, verificar sy-subrc para saber cómo proceder.
Mantener compatibles los formatos de las estructuras, variables y tablas internas con los datos seleccionados para evitar errores de sintaxis o ejecución.
Antes de conservar datos mediante APPENDING TABLE, refrescar la tabla interna para evitar duplicados indeseados.
Practicar las variantes de la sentencia SELECT según lo presentado.
Verificar estructuras de datos antes de almacenar resultados de consultas.
 
 
 
Sobre el autor
Publicación académica de Juan Ignacio Romero, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Juan Ignacio Romero
Profesión: Ing. Sistemas Computacionales - Mexico - Legajo: LJ26F
✒️Autor de: 138 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Juan Romero






Disponibilidad Laboral: FullTime


















