PROMO JULIO en CVOSOFT United States Of America: 💎Calidad, 🔥Bonificaciones, 🥶Precios Congelados y MÁS!

 X 

✒️ABAP El lenguaje SQL y la sentencia SELECT

ABAP El lenguaje SQL y la sentencia SELECT

ABAP El lenguaje SQL y la sentencia SELECT

Unidad n°3: El diccionario de datos
Lección n°6: El lenguaje SQL y la sentencia SELECT

El lenguaje SQL:

Para acceder y manipular los datos que se encuentran almacenados en las tbd centralizada, usaremos SQL.

SQL: Lenguaje de Consulta Estructurado. Es usado como interfaz para comunicarse con base de datos y realizar operaciones de acceso y manipulación de información almacenada.

Permite realizar operaciones de selección, actualización y borrado de datos, así como operaciones administrativas sobre la base de datos

Puede hacer cálculos avanzados y álgebra. Es usado en la mayoría de empresas que almacenan datos en una base de datos.

SQL es un estándar mantenido por ANSI, por lo que las bases del lenguaje son las mismas en la mayoría de los sistemas de gestión de base de datos.

Las sentencias de SQL se pueden clasificar en tres grupos:

  • Lenguaje de Definición de Datos (DDL): para definir diferentes objetos de nuestra base de datos. Se usa para definir estructuras como el esquema, la base de datos, tbd, etc.
    Para definir las estructuras dispondremos de tres sentencias:
    CREATE: para crear una base de datos, tbd, vistas, etc.
    ALTER: para modificar la estructura de la base de datos, como añadir o borrar columnas o una tbd.
    DROP: para borrar los objetos de la estructura, como un índice o secuencia.
  • Lenguaje de Manipulación de Datos (DML): para manipular los datos de los diferentes objetos de nuestra base de datos, en las tablas, donde podemos hacer inserciones, actualizaciones, borrar o extraer estos datos.
    DML permite a los usuarios introducir datos para luego hacer tareas de consultas o modificación de los datos de las bases de datos.
    Sentencias para manipular los datos:
    SELECT: para realizar consultas sobre los datos.
    INSERT: para insertar los valores en una tbd.
    UPDATE: para modificar valores de uno o varios registros.
    MODIFY: para modificar los valores de uno o varios registros.
    DELETE: para eliminar las filas de una tbd.
  • Lenguaje de Control de Datos (DCL): podemos darle o quitarle permisos sobre los objetos a los usuarios que se conectan a la base de datos.
    Estos comandos permiten al administrador del sist. gestor de base de datos, controlar el acceso a los objetos, es decir, podemos otorgar o denegar permisos a uno o más roles para realizar determinadas tareas.
    Comandos para controlar permisos:
    GRANT: permite otorgar permisos.
    REVOKE: elimina los permisos que antes se dieron.

La sentencia SELECT:

Para hacer consultas usaremos la sentencia SELECT, que se usa para recuperar info en SQL, es decir, permite obtener registros de la base de datos, de una o varias tablas combinadas. Además permite hacer filtrados de la info, para obtener solo los registros que cumplen ciertas condiciones.
SELECT recupera cero o más filas de una o más tbd o vistas de base de datos.
Su sintaxis es:
SELECT <resultado> "En resultado se colocan los campos que se desean recuperar.
FROM <tabla> "Es la tbd donde se sacan los datos.
INTO <target> "Es el destino donde serán alojados los datos.
WHERE <condiciones>. "Condiciones de búsqueda.


Distintas variantes de SELECT para su ejecución (tomando como ejemplo la tbd "ZTABLA_USUARIOS")


SELECT*INTO TABLE:

Usando SELECT* obtendremos todos los registros de la tabla:
SELECT *
FROM ztabla_usuarios
INTO TABLE ti_usuarios.

ti_usuarios es una ti del mismo tipo que la tabla ZTABLA_USUARIOS.
El asterisco indica que se obtendrán todos los campos de la tabla.
La cláusula INTO TABLE se usa cuando el resultado de la consulta se guarda en una ti.

EVITAR EL USO DEL * CUANDO SOLO SE NECESITA OBTENER ALGUNOS CAMPOS DE LA TABLA ORIGEN.

Respecto a la sentencia anterior, en caso de que existan registros en la tabla ZTABLA_USUARIOS, estos pisarán el contenido de la ti "ti_usuarios" y la variable del sistema SY-SUBRC será 0. En caso de no encontrarse registros de datos, entonces SY-SUBRC será distinto de 0.


SELECT*APPENDING TABLE:

Se usa cuando queremos conservar el contenido de la ti "ti_usuarios" luego de reiteradas selecciones:
SELECT *
FROM ztabla_usuarios
APPENDING TABLE ti_usuarios.

Se recomienda hacer un REFRESH de la ti en donde se almacenarán los datos antes de realizar la selección de estos.
En caso de usar una variable o una estructura, deberemos ejecutar un CLEAR.


SELECT campo1:

Si queremos obtener todos los campos de la tabla, el campo DNI, deberíamos crear una tabla auxiliar solo con el campo DNI para alojar el resultado de la consulta:
SELECT dni
FROM ztabla_usuarios
INTO TABLE ti_usuarios_aux.

Si quisieramos obtener dos campos, por ej: NOMBRE_APE y ESTADO_USU, luego del SELEC hay que escribir los nombres de los campos en el orden en el que se encuentran en la tabla base de datos:
SELECT nombre_ape estado_usu
FROM ztabla_usuarios
INTO TABLE ti_usuarios2.


SELECT SINGLE:

Lo usamos para obtener la 1era ocurrencia de la tabla, donde se cumpla determinada condición, usando SELECT SINGLE *:
CLEAR wa_usuarios.
SELECT SINGLE *
FROM ztabla_usuarios
INTO wa_usuarios
WHERE nombre_ape NE space.

El resultado de la consulta se guardará en la estructura "wa_usuarios" que es del mismo tipo que la tabla.

Si quisiéramos hacer la misma consulta pero solo con un campo ("dni"), no necesitaremos la estructura "wa_usuarios", si no que guardaremos el resultado en la variable "v_dni":
CLEAR v_dni.
SELECT SINGLE dni
FROM ztabla_usuarios
INTO v_dni
WHERE nombre_ape NE space.


SELECT INTO CORRESPONDING FIELDS OF TABLE:

Esta clausula se usa cuando queremos obtener registros de una tbd que cumpla una condición pero deseamos guardarlos en una ti que no tiene la misma estructura que la tbd.
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'.


SELECT ...WHERE IN:

EJ: si tenemos un reporte que en la pantalla de selección tiene en la pantalla de selección el Nombre y Apellido (parameter "p_nomape") y el Estado del Usuario (select-option "s_estado"); Si quisiéramos hacer una selección a la tabla ZTABLA_USUARIOS en base a lo que los usuarios ingresan por pantalla haríamos lo sig:
"Seleccionamos los registros que cumplan con los parám. de la pantalla:
SELECT *
FROM ztabla_usuarios
INTO TABLE ti_usuarios
WHERE nombre_ape EQ p_nomape
AND estado_usu IN s_estado.

**La cláusula IN se usa para los select-options en las condiciones de un select.


SELECT MAX:

Se usa para obtener el 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'.


SELECT COUNT:

Se usa para saber la cantidad de usuarios con estado "activo":
CLEAR v_activos.
SELECT COUNT (*)
INTO v_activos
FROM ztabla_usuarios
WHERE estado_usu EQ 'A'.


SELECT FOR ALL ENTRIES IN:

Para obtener de una tbd todos los registros existentes en una ti cargada con datos usamos esta clausula que nos permite especificar condiciones en tiempo de ejecución:
"Obtenemos los registros de los usuarios que existan en la ti ti_proveedores:
SELECT *
INTO TABLE ti_usuarios
FROM ztabla_usuarios
FOR ALL ENTRIES IN ti_proveedores
WHERE dni EQ ti_proveedores-dni.


SELECT ...LIKE:

Se usa para obtener todos los registros que cumplan con un patrón en alguno de sus campos.
EJ: buscamos los registros que cumplen que el campo Nombre y Apellido comienza con A:
SELECT *
FROM ztabla_usuarios
INTO TABLE ti_usuarios
WHERE nombre_ape LIKE 'A&'.


SELECT ...INNER JOIN:

Se usa para realizar un SELECT a más de una tbd.
EJ: usaremos dos tbd estándar VBRK de Factura: Datos de cabecera y la VBRP de Factura: Datos de posición. Supangamos que queremos recuperar de ambas los registros donde el campo VBELIN (núm. de factura) coincida, esta será la condición entre ambas tablas y para estos registros nos quedaremos con los siguientes campos de la VBRK:

  • Factura (VBELN).
  • Clase de factura (FKART).
  • Tipo de factura (FKTYP).
  • Tipo de documento comercial (VBTYP).
  • Moneda del doc. comercial (WAERK).
  • Organización de ventas (VKORG).
  • Canal de distribución (VTWEG).

Y nos quedaremos con los sig. campos de la VBRP:

  • Posición de factura (POSNR).
  • Valor neto de posición de factura (NETWR).

Entonces ahora ejecutaremos la sentencia SELECT INNER JOIN:
TYPES: BEGIN OF ty_facturas,
vbln
fkart LIKE vbrk-fkart,
fktyp LIKE vbrk-fktyp,
vbtyp LIKE vbrk-vbtyp,
waerk LIKE vbrk-waerk,
vkorg LIKE vbrk-vkorg,
vtweg LIKE vbrk-vtweg,
posnr LIKE vbrp-posnr,
netwr LIKE vbrp-netwr,
END OF ty_facturas.

DATA: ti_facturas TYPE STANDARD TABLE OF ty_facturas,
wa_facturas LIKE LINE OF ti_facturas.

"Hacemos un join entre las tablas VBNK y VBRP:
SELECT t1~vbeln t1~fkart t1~fktyp t1~vbtyp t1~waerk
t1~vkorg t1~vtweg t2~posnr t2~netwr
INTO CORRESPONDING FIELDS OF TABLE ti_facturas
FROM vbrk AS t1 INNER JOIN vbrp AS t2
ON t2~vbeln = t2~vbeln.

Esta clausula entre dos tbd A y B entregará el resultado de la intersección de los conjuntos A y B, es decir, los registros en común entre ambas según la condición de conexión


 

 

 


Sobre el autor

Publicación académica de Candela Estefanía Calzada, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Expert


Candela Estefanía Calzada

Profesión: Técnica Electrónica - Argentina - Legajo: JW91W

✒️Autor de: 160 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Me encuentro estudiando la ingeniería en sistemas de información. poseo amplia experiencia en edición de videos. tengo bases entorno a la programación que quiero continuar consolidando.

Certificación Académica de Candela Calzada

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "El lenguaje SQL y la sentencia SELECT" de la mano de nuestros alumnos.

SAP Master

SENTENCIA SELECT INTO TABLE se utiliza cuando el resultado de la consulta se guarda en una tabla interna simepre despues de un select se debe preguntar por el sy-subrc para saber como proseguir SENTENCIA SINGLE para obtener la primera ocurrencia de la tabla clausula in para select option FOR ALL ENTRIES IN es un formato especial de la sentencia where que se utiliza para especificar condiciones en tiempo de ejecucion no se pueden utilizar like between e in

Acceder a esta publicación

Creado y Compartido por: Andres Felipe Escobar Lopez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

SQL, sus siglas significan lenguaje de consulta estructurado. es un lenguaje de consulta, usado como interfaz para comunicarse con bases de datos y realizar operaciones de acceso y manipulacion de la informacion almacenada. Algunos sistemas de gestion de bases de datos comunes que utilizan SQL son ORACLE, SAP HANA, MY SQL; Microsoft SQL SERVER, microsoft acces, ingres etc. LA SENTENCIA SELECT se utiliza para realizar informacion en SQL, es decir permite obtener registros de la base de datos de una o varias tablas combinadas. Ademas permite hacer filtrados de la informacion para obtener unicamente los registros que cumplen ciertas condiciones. Una sentencia select recupera cero o mas filas de una o mas tablas de base de datos o vistas de base...

Acceder a esta publicación

Creado y Compartido por: Pedro Salazar / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


La sentencia "SELECT" en el contexto de SAP ABAP (Advanced Business Application Programming), que se utiliza para recuperar datos de una base de datos. La sentencia "SELECT" se utiliza para consultar registros en tablas de la base de datos y recuperar la información que necesitas para tu programa. La sentencia "SELECT" puede incluir más detalles, como cláusulas "WHERE" para filtrar los registros, "GROUP BY" para agrupar resultados y otras opciones que permiten personalizar la consulta según tus necesidades. QL (Structured Query Language) es un lenguaje de programación utilizado para gestionar y manipular bases de datos relacionales. Con SQL, puedes realizar...

Acceder a esta publicación

Creado y Compartido por: Darling Geraldino

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert

El lenguaje SQL y la sentencia SELECT LECCION 6º DE 10 1 - El lenguaje SQL. Lenguaje de consulta estructurado, interfaz para cominucacrse con la base de datos y realizar operaciones de acceso y manipulacion de la informacion almacenda. Las sentencias SQL la podemos clasificar en 3. Lenguaje de definicion de datos(DDL) : se usa para definir estructuras como el esquema, la base de datos, las tablas de db, las restricciones, etc. Se dispone de CREATE, ALTER, DROP Lenguaje de manipulacion de datos (DML): se usa para manipular los datos. SELECT, INSERT,UPDATE, MODIFY, DELETE. Lenguaje de control de datos(DCL): se usa para dar o quitar permisos sobre los objetos a los que los usuarios se conectan a la base de datos. GRANT,REVOKE....

Acceder a esta publicación

Creado y Compartido por: Pablo Adrian Oggero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

SQL es un lenguaje de consulta de bases de datos, que se utiliza para comunicarse con la base de datos y realizar operaciones, este lenguaje es el mas utilizado por las bases de datos relacionales y aunque es el mas utilizado cada base de datos tiene sus propias extensiones. las sentencias del lenguaje SQL pueden ser clasificadas en tres, que serian * lenguaje de definición de datos DDL - CREATE. - ALTER. - DROP. * lenguaje de manipulación de datos. DML - SELECT - INSERT - UPDATE - MODIFY - DELETE * lenguaje de control de datos DCL - GRANT - REVOKE LA SENTENCIA SELECT esta sentencia permite obtener registros de la base de datos, filtrados o no. para obtener todos los resultados de una tabla se pone * y INTO TABLE cuando los...

Acceder a esta publicación

Creado y Compartido por: Jose Sebastian Salamanca Garcia

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Junior

1. La sentencia SELECT Se utiliza para acceder a las bases de datos de SAP. podemos acceder a los registros almacenados en todas las tablas. Sintaxis: SELECT<resultado> FROM<tabla> INTO<target> WHERE<condiciones>. Ejemplo. Si quisieramos obtener los registros de la tabla ZTABLA_USUARIOS, usariamos el siguiente codigo: SELECT * FROM ztabla_usuarios INTO TABLE ti_usuarios. APPENDING TABLE: Se utiliza junto con la sentencia SELECT y produce que los regsitros de las tablas que se selecionan se añadan al final de la tabla interna sin pisar los registros preexistentes en la tabla interna. INTO TABLE: Se utiliza junto con la sentencia SELECT y produce que los rgistros de las tablas base de datos que se selecionan,...

Acceder a esta publicación

Creado y Compartido por: Jairo Alexander Arias Linares

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Junior

Lenguaje SQL y la sentencia Select 1. Lenguaje SQL Sus siglas significan Lenguaje de Consulta estrucurado Es un lenguaje de consulta usado como interfaz para comunicarse con bases de datos y realizar operaciones de acceso y manipulacion de la informacion almacenada. Es un lenguaje sencillo de consulta que permite la seleccion, insercion, actualizacion y borrado de datos. Tiene la capacidad de hacer calculos avanzados en algebra. Es utilizado en empresas que almacenana datos en una base de datos. El lenguaje SQL es estandar mantenido por ANSI, por lo que las bases de datos son las mismas en la mayoria de los sistemas Algunos de bases de datos mas comunes que utiliza SQL son: ORACLE, SAP, HANA, MySQL, Microsoft SQLm Microsoft...

Acceder a esta publicación

Creado y Compartido por: Lucas Mera / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

EL LENGUAJE SQL: SQL como sus siglas la identifican, se definen como "Lenguaje de consulta estructurado" este lenguaje puede ser clasificado en tres grupos que son los siguientes: - Lenguaje de definición de datos DDL: gracias a este lenguaje podemos definir los diferentes objetos que tenemos en nuestra base de datos, se utiliza para definir estructuras como son el esquema, la base de datos, las tablas de bases de datos, las restricciones, etc. Para definir las estructuras disponemos de 3 sentencias: *** CREATE: se utiliza para crear una base de datos, tablas bases de datos, vistas, etc. *** ALTER: se utiliza para modificar la estructura de la base de datos, por ejemplo añadir o borrar columnas de una tabla base de datos....

Acceder a esta publicación

Creado y Compartido por: Jean Carlos Lopez / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Sentencia Select nos permite acceder a la base de datos SELECT <cmpos necesitamos> FROM <tabla BD> INTO TABLE<tabla (o workarea)> WHERE <campo> = <valor>. recomendable realizar CLEAR o REFRESH a la tabla antes de la siguiente sentencia SELECT <cmpos necesitamos> FROM <tabla BD> APPENDING TABLE <tabla o workarea> WHERE <campo> = <valor>. SELECT SINGLE<cmpos necesitamos> FROM <tabla BD> INTO TABLE<tabla (o workarea)> WHERE <campo> = <valor>. "para obtener 1er ocurrencia SELECT SINGLE<cmpos necesitamos> FROM <tabla BD> INTO <variable> WHERE <campo> = <valor>. "para obtener 1er ocurrencia en variable SELECT <cmpos1>...

Acceder a esta publicación

Creado y Compartido por: Tania Luisa Diaz Corona / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

SQL SELECT - Es la principal sentencia para acceder bases de datos. SELECT * FROM z_tabla INTO TABLE ti_tabla WHERE condiciones *ti-tabla es del mismo tipo que z_tabla APPENDING TABLE - No planchará el contenido de una tabla interna sino que lo agreagará al final. *Se recomienda hacer CLEAR Y REFRESH a la tabla interna Si solo vamos a obtener un campo es recomendable crear una tabla auxiliar solo con ese campo: SELECT id FROM z_tabla INTO TABLE ti_id. ****SY-SUBRC****** Validar siempre que sea 0 despues de cada sentencia para confirmar éxito o error. -Obtener el primer registro SELECT SINGLE * FROM z_tabla INTO wa_table -Obtener un campo del primer registro, va a una variable SELECT SINGLE id FROM z_tabla INTO v_id -Guardar...

Acceder a esta publicación

Creado y Compartido por: Armando Mayo Marquez / Disponibilidad Laboral: FullTime + Carta Presentación

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!