🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 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

Resumen

Unidad 3 lección 6

Lenguaje SQL Y la sentencia SELECT

1- El lenguaje SQL. (lenguaje de consulta estructurado) => Este sirve xa acceder y manipular los datos =>lenguaje SQL.

= xa comunicarse con DB.

= Realizar operaciones de acceso.

= Manipulacion de la informacion en DB.

Lenguaje sencillo de consulta = Selección

= Inserción

= Actualización.

= Borrado

= Operaciones administrativas sobre DB.

El lenguaje SQL es un estándar mantenido por ANSI (Instituto Nacional Estadounidense de estándares).

Algunos sist de gestion de DB q utilizan SQL son: = Oracle

= SAP HANA

= Mysql

= Microsoft SQL

= Microsoft Access

= Ingres, entre otros

DB Oracle su lenguaje SQL no es el mismo q utiliza la DB SAP HANA.

La estructura de las consultas es practica/ igual, xo existen pequeñas diferencias a la hora de organizar los bloques de sentencias y especificar operaciones o las funciones de admon.

Las sentencias del lenguaje SQL tienen 3 grupos

  • Lenguaje de definición de datos (DDL) se utiliza xa = Definir estructuras como esquemas

= La DB

= Las tablas de DB.

= Las restricciones

** CREATE => DB, tablas, vistas.

** ALTER => Modificar estructuras DB (borrar - añadir columnas)

** DROP => Eliminar objetos de la estructura ( un indice o una secuencia)

  • Lenguaje de Manipulación de datos (DML) se utiliza = Realizar inserciones

= Actualizaciones

= Borrado de datos

= Extraer datos

** SELECT => consulta

** INSERT => insertar valores a la DB

** UPDATE => actualizar valores a uno o varios registros

** MODIFY => también xa modificar uno o varios registros

** DELETE => eliminar filas en una tabla de DB.

  • Lenguaje de control de datos (DCL) = podemos quitar o ponerle permisos a los objetos a los usuarios

= permite admon del sist

= controlar acceso a los objetos

2- La sentencia SELECT.

Esta sentencia se utiliza xa recuperar info EN SQL permita obtener registros de la DB de una o varias tablas, hacer filtros.

En ABAP las sintaxis del select:

SELECT <resultado> campos

FROM <tabla> tabla o tablas

INTO <terget> destino donde serán alojados los datos

WHERE <condiciones> criterios de búsqueda

Ej: tabla ZTABLA_usuarios

2.1 SELECT *

FROM ztabla_usuario_g

INTO TABLE ti_usuarios (tabla interna)

==> Evitar el uso del asterisco (*) cuando solo se requiere obtener algunos campos de la tabla origen.

2.2 SELECT * APPENDING TABLE

podría ocurrir q quisieramos conservar el contenido de la tabla interna ti_usuarios luego de reiteradas selecciones en este caso usamos la cláusula APPENDING en lugar de INTO TABLE

Recomendable hacer un REFRESH de la tabla interna en donde se almacenaran los datos antes de realizar los mismos.

En caso de utilizar una variable o una estructura entonces utilizamos CLEAR

2-3 SELECT campo1

podemos traer todos los campos de una tabla ZTABLA_USUARIOS_G el campo DNI deberiamos crear una tabla interna auxiliar solo con este campo.

SELECT dni

from ZTABLA_USUARIOS

INTO table TI_USUARIOS_AUX

=> siempre despues de un select se debe preguntar x el sy-subrc xa saber como proseguir.

Lo mismo xa obtener dos campos:

SELECT nombre_ape estado_usu

FROM ZTABLA_USUARIOS

INTO TABLE ti_usuarios2.

=> si la variable estructura o tabla interna no coinciden en el formato con los datos recuperados entonces se produce un error, q dependiendo el caso puede ser de sintaxis o en tiempo de ejecución es decir DUMP.

2.4 SELECT SINGLE

si queremos obtener la primera ocurrencia de la tabla ZTABLA_USUARIOS_g donde se cumple determinada condición debemos ejecutar

* seleccionamos el prmer registro q cumpla la condición

CLEAR wa_usuarios

SELECT SINGLE *

FROM ZTABLA_USUARIOS

INTO wa_usuarios ==> estructura del mismo tipo q la tabla original

si queremos realizar la misma consulta anterior xo necesitamos obtener solo un campo DNI utilizaremos una variable y no en una estructura.

* seleccionamos el primer registro q cumpla la condición.

CLEAR v_dni

SELECT SINGLE dni

FROM ZTABLA_USUARIOS_g

INTO v_dni

WHERE nombre_ape NE space

2-5 SELECT INTO CORRESPONDING FIELDS OF TABLE

Si quisieramos obtener de una tabla DB los registros q cumplan una condición xo deseamos guardarlos en tabla interna q no tiene la misma estructura q la tabla DB entonces tenemos q usan

* seleccionamos los registros q cumplen la condicion

SELECT nombre_ape estado_usu

FROM ZTABLE_USUSARIOS_g

INTO CORRESPONDING FIELDS OF TABLE ti_usuarios2

WHERE nombre_ape NE 'A'

AND estado_usu EQ 'A'

En el ej anterior la tabla interna ti_usuaarios2 esta compuesta x los campos NOMBRE_APE y ESTADO_USU

2-6 SELECT ...WHERE IN

Ahora supongamos q tenemos en reporte q tiene la siguiente pantalla de seleccion

Donde nombre y apellido es el parametro p_nomape y estado del usuario q es SELECT-OPTIONS s_estado. si queremos hacer una seleccion a la tabla ZTABLA_USUARIOS_g en base a lo q los usuarios ingresan x pantalla haremos los siguiente

* seleccionamos a los registros q cumplan con los parametros de pantalla

SELECT *

FROM ZTABLA_USUARIOS_g

INTO TABLE ti_usuarios

WHERE nombre_ape EQ p_nomape

AND estado_usu IN s_estado

la clausula IN se utiliza xa los SELECT-OPTIONS en las condiciones de un select.

2-7 SELECT MAX

obtener el usuario activo con DNI mas alto tendremos q usar la clausula MAX

CLEAR v_dni

SELECT MAX(dni)

INTO v_dni

FROM ZTABLA_USUARIO_G

WHERE estado_usu EQ 'A'

Si colocamos la sentencia SELECT es igual xa el compilador si colocamos la sección from y luego las sección into o alrevés

2-8 SELECT COUNT(*)

*obtenemos la cantidad de usuarios activos

CLEAR v_activos

SELECT count(*)

INTO v_activos

FROM ZTABLA_USUARIOS_g

WHERE estado_usu EQ 'A'

2-9 SELECT FOR ALL ENTRIES IN

xa obtener todos los registros q existen en una tabla interna cargada con datos => cláusula FOR ALL ENTRIES IN q nos permite especificar en condiciones en tiempo de ejecución Ej:

SELECT *

INTO TABLE ti_usuarios_g

FROM ZTABLA_usuarios

FOR ALL ENTRIES IN ti_procveedores

WHERE dni EQ ti_proveedores-dni

dos cosas a tomar en cuenta depende de la situación y es validar q la tabla ti_proveedores tiene 3 registros, no importa recorrerla, pero si esta tabla tiene 100mil registros el costo de hacerlo es grandísimo.

2-10 SELECT ... LIKE

si quiesieramos obtener todos los registros q cumplan con un patron de texto en alguno de los campos con la cláusula LIKE (%)

SELECT *

FROM ZTABLA_USUARIOS_g

INTO ti_usuarios

WHERE nombre_ape LIKE 'A%'

2-11 SELECT .... INNER JOIN

Hacer un select a mas de una tabla, se conoce con el nombre JOIN.

tabla => factura cabecera VBRK y la tabla VBRP

Supongamos q deseamos recuperar de ambas tablas los registros en donde el campo VBELN (num de factura) esta es la condición de unión => campos de la tabla VBRK.

  • Factura (VBELN)
  • Clase de factura (FKART)
  • Tipo de factura (FKTYP)
  • Tipo de documento comercial (VBTYP)
  • Moneda del documento comercial (WAERK)
  • Organizcion de ventas (VKORG)
  • Canal de distribucion (VTWEG)

Y los sgntes tablas (VBRP)

  • Posicion de factura (POSNR)
  • Valor neto de posicion factura (NETWR)

Ejecutamos la sentencia

SELECT INNER JOIN (unir internamente)

TYPES: BEGIN OF ty_facturas

vbeln LIKE vbrk-ubeln,

fkart LIKE vbrk-fkart,

fktyp LIKE vbrk-fktyp,

vbtyp LIKE vbrk-vbtyp,

waerk LIKE vbrk-waerk,

vkorg LIKE vbrk-vkorg,

vtmeg LIKE wbrk-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.

realizamos con JOIN entre las tablas VBRK Y VBRF

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

La clausula INNER JOIN entre dos tablas DB A y B entregará el resultado de la intersección de conjuntos A y B en otras palabras, la parte interna, es decir los registros en común entre amabas tablas DB s/g la condición de conexión de ambas tablas. La clausula LEFT OUTER JOIN entre dos tablas A y B, en donde obtendremos como resultado la unión entre las tablas A y B + la parte de información exterior de la tablas DB A es de la tabla DB q se encuentra a la izquierda en la unión.

TX SE30 xa comparar 2 programas => nos da el rendimiento


 

 

 


Sobre el autor

Publicación académica de Gustavo Betancur Guzmán, en su ámbito de estudios para la Carrera Consultor ABAP.

✒️+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 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

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 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!