✒️ABAP El lenguaje SQL y la sentencia SELECT
ABAP El lenguaje SQL y la sentencia SELECT
SQL = LENGUAJE DE CONSULTA ESTRUCTURADO
comunicarse con BD y realizar operaciones de acceso y manipulación a la info almacenada.
Operaciones administrativas, cálculos avanzados y álgebra.
Sistemas q usan SQL Oracle, SAP HANNA, Microsoft.
Sentencias de SQL se clasifican en 3 tipos
DDL Lenguaje definicion de datos (definen esquema, tabla, restricciones)
Sentencias:
CREATE (crear)
ALTER (modificar)
DROP (Eliminar)
DML Lenguaje manipulacion de datos
Sentencias:
SELECT consultas
INSERT insertar
UPDATE modificar
MODIFY modificar
DELETE eliminar
DCL lenguaje de controle datos
se usa para dar o quitar permisos a los usuarios
Sentencias
GRANT otorga permisos
REVOKE elimina permisos
Sentencia SELECT
Usada para obtener registros de la base de datos de una o varias tablas, se pueden hacer filtros.
Sintaxis de la sentencia:
SELECT (qué campos se quieren buscar)
FROM (de donde vienen los datos)
INTO (destino a donde van los datos)
WHERE (condiciones)
Anotaciones
Evitar el uso del * cuando sólo se requiera obtener algunos campos de la tabla origen
ejecutar REFRESH en donde se van a alojar los datos antes de ejecutar SELECT
en caso de usar una variable o estructura ejecutar CLEAR
siempre despues de un SELECT se debe preguntar por el SY-SUBRC para saber como proseguir
si se quiere obtener solo 1 campo, se debe crear una tabla auxiliar co nel nombre de ese campo para alojar el resultado de la consulta (variante 3) si se quiere añadir otro campo, entonces en SELECT poner ambos campos seguidos
si la variable, estructura o tabla interna de destino donde se alojan los datos de SELECT no coincide con el formato con los datos recuperados, entonces arroja DUMP
Sentencia IN en SELECT introduce un rango de valores en la búsqueda
es indistinto el orden de FROM o INTO
Variante 1 de SELECT:
sirve para buscar los datos de la tabla ztabla_usuarios y que esta información pise la tabla ti_usuarios
SELECT *
FROM ztabla_usuarios
INTO TABLE ti_usuarios.
Variante 2 de SELECT:
sirve para buscar los datos de la tabla ztabla_usuarios y que esta información se añada a la información de la tabla ti_usuarios
SELECT *
FROM ztabla_usuarios
APPENDING TABLE ti_usuarios.
Variante 3 de SELECT:
SELECT dni
FROM ztabla_usuarios
APPENDING TABLE ti_usuarios_aux.
SELECT dni nombre_ape
FROM ztabla_usuarios
APPENDING TABLE ti_usuarios2.
Variante 4 de SELECT:
sirve para obtener la primera ocurrencia de la tabla con determinada condicion
CLEAR wa_usuarios.
SELECT SINGLE *
FROM ztabla_usuarios
INTO wa_usuarios
WHERE nombre_ape NE space.
* se puede cambiar por dni y alojarse en la variable v_dni
Variante 5 de SELECT:
sirve para buscar datos cuando la estructura de las tablas no son iguales, el sistema compara los campos de ambas tablas teniendo en cuenta tipos de campos y posicion de cada uno de ellos, EJ campo tipo CHAR de 4 posiciones
SELECT nombre_ape estado_usu
FROM ztabla_usuarios
INTO CORRESPONDING FIELDS OF TABLE ti_usuarios2
WHERE nombre_ape NE space
AND estado_usu EQ 'A'.
Variante 6 de SELECT:
Para hacer una busqueda en base a parametros ingresados por usuario
SELECT *
FROM ztabla_usuarios
INTO TABLE ti_usuarios
WHERE nombre_ape EQ p_nomape
AND estado_usu IN s_estado.
Variante 7 de SELECT:
ejemplo, si quieres obtener usuario activo con DNI más alto
CLEAR v_dni.
SELECT SINGLE MAX (dni)
INTO v_dni
FROM ztabla_usuarios
WHERE estado_usu EQ 'A'.
Variante 8 de SELECT:
Cantidad de usuarios activos
CLEAR v_activos.
SELECT COUNT (*)
INTO v_activos
FROM ztabla_usuarios
WHERE estado_usu EQ 'A'.
Variante 9 de SELECT:
Todos los datos de una coincidencia (se puede hacer con LOOP y SELECT, pero toma mucho tiempo de ejecución)
SELECT *
INTO TABLE ti_usuarios
FROM ztabla_usuarios
FOR ALL ENTRIES IN ti_proveedores
WHERE dni EQ ti_proveedores-dni.
Variante 10 de SELECT:
buscar registros que comienzen con A
SELECT *
FROM ztabla_usuarios
INTO TABLE ti_usuarios
WHERE nombre_ape LIKE 'A%'.
Variante 11 de SELECT:
Clausula INNER JOIN
arroja el resultado de la interseccion de los conjuntos A y B
Clausula LEFT OUTER JOIN
arroja el resultado de la union de los conjuntos A y B
Busqueda de valores de 2+tablas
Ej, tenemos 2 tablas STD: VBRP y VBRK
 
 
 
Sobre el autor
Publicación académica de Diana Margarita Man Ip, en su ámbito de estudios para la Carrera Consultor ABAP.
Diana Margarita Man Ip
Profesión: Ingeniera Industrial - Peru - Legajo: DL97G
✒️Autor de: 41 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Diana Man