Capacitación SQL
En este Curso…
El objetivo del curso es que los alumnos aprendan sobre el
lenguaje SQL (Structured Query Languaje), el cual se aplica en la
mayoría de las bases de datos utilizadas.
Los alumnos al final de este curso tendrán las herramientas
necesarias para poder manipular datos y transformarla en
información valiosa para la toma de decisiones.
Temario
1. Estructura de las bases de datos: Que son, Como se
componen. (Explicación general respecto a las BBDD)
2. Que es el lenguaje SQL
3. Principales Tipos de Datos
– Numéricos
– Alfanuméricos
– Fecha
Temario
4. Estructura General de estas consultas SELECT
5. Condiciones de Fila
– Operadores de Comparación
– BETWEEN, IN, LIKE
6. Funciones
7. Agrupaciones
8. Funciones y Agrupaciones
9. Condiciones Sobre Cálculos en Agrupaciones
10. Campos Calculados
¿Qué es una Base de Datos?
¿Qué es un servidor? ¿Qué es una base de datos? ¿Es lo mismo?
Servidor: Computador
Base de datos: Software
¿Qué es una Base de Datos?
Permite el acceso de los usuarios (por medio de la red) a los
datos almacenados en la base de datos
¿Qué es una Base de Datos?
Contenido de una base de datos (Nota):
• Tablas: objeto que almacena información
• Funciones: objeto utilizado para realizar cálculos
• Procesos: objeto utilizado para almacenar consultas para su
posterior ejecución
Nota: Sólo se nombran los objetos más importantes para este
curso
¿Qué es el Lenguaje SQL?
Es un lenguaje diseñado específicamente para acceder a una
bases de datos.
Caracteríasticas:
• Lenguaje de alto nivel
• Se incluye Álgebra matemática
• Se utiliza cálculo relacional
El lenguaje SQL tiene los siguientes lenguajes: (siguiente hoja)
¿Qué es el Lenguaje SQL?
Lenguaje de definición de datos DDL (Data Definition Language)
– Create / Crear
– Alter / Modificar
– Drop / Eliminar
– Truncate / Truncar
Lenguaje de manipulación de datos DML(Data Manipulation
Language)
– Select / Leer
– Insert / Insertar
– Update / Actualizar
– Delete / Borrar
Estructura Consulta
La consulta básica para poder visualizar datos tiene el siguiente
formato:
SELECT [COLUMNAS] o [*]
FROM [TABLA]
*WHERE [CONDICIONES]
*ORDER BY [COLUMNAS]
[*]=Todos los campos
*Opcional
Muestra de Datos
SELECT [COLUMNAS] o [*]
FROM [TABLA]
*WHERE [CONDICIONES]
FETCH FIRST [N° REGISTROS] ROW ONLY
FETCH: Elige y limita el número de registros que va a retornar la
consulta
Consulta Básica
Muestra 10 registros completos (*) aleatorios del maestro de cuentas TC
Abierta
SELECT *
FROM CCTAF01
SAMPLE 10;
* Es comodín, significa todas las columnas
Muestra 10 registros aleatorios y 4 columnas del maestro de cuentas TC
Abierta
SELECT FECHA_REGISTRO ,BI_NROCTA
Alias en Consultas
Es posible cambiar el nombre de una columna para efectos de
visualización. Para esto, se debe escribir el nombre deseado
luego del nombre de la columna
SELECT FECHA_REGISTRO FECHA
,BI_NROCTA NUMERO_CUENTA
,BI_NUMRUT RUT_CLIENTE
,BI_NOMTIT NOMBRE_CLIENTE
FROM CCTAF01
SAMPLE 10;
Tipos de Condiciones WHERE
Los operadores que se pueden usar con el comando WHERE son
los siguientes:
Ejemplo Operador =
Muestra 10 registros aleatorios del día 20 de abril del 2018 de la
tabla TXP
DATABASE DL_CM_BI_ACCESO;
SELECT *
FROM CCTAF03
WHERE FECTRA='2018-04-20‘
SAMPLE 10;
Ejemplo Operador BETWEEN
Muestra 10 compras al contado aleatorios entre el 1 y el 30 de abril del 2018
de la tabla TXP
DATABASE DL_CM_BI_ACCESO;
SELECT *
FROM CCTAF03
WHERE FECTRA BETWEEN '2018-04-01' AND '2018-04-30‘
AND CODTRA=1
SAMPLE 10;
Ejemplo Operador IN
Muestra 10 compras (contado, 3 CPC y N cuota) aleatorios entre el 1 y el 30
de abril del 2018 de la tabla TXP
DATABASE DL_CM_BI_ACCESO;
SELECT *
FROM CCTAF03
WHERE FECTRA BETWEEN '2018-04-01' AND '2018-04-30‘
AND CODTRA IN (1,83,867)
SAMPLE 10;
Ejemplo Operador LIKE
Muestra 10 compras (contado, 3 CPC y N cuota) aleatorios entre el 1 y el 30
de abril del 2018 de la tabla TXP, que se hayan realizado en la tienda PRÜNE
DATABASE DL_CM_BI_ACCESO;
SELECT *
FROM CCTAF03
WHERE FECTRA BETWEEN '2018-04-01' AND '2018-04-30‘
AND CODTRA IN (1,83,867)
AND GLOTRX LIKE '%PRU%‘
SAMPLE 10;
SELECT COUNT(*) CONTADOR_FILAS,SUM(CAMPO) SUMA FROM [TABLA]
Funciones
En el lenguaje SQL existen funciones que permiten realizar cálculos sobre una
tabla o el resultado de una consulta.
Funciones:
• MIN
• MAX
• AVG
• COUNT
Ejemplo
SELECT COUNT(*) CONTADOR_FILAS,SUM(CAMPO) SUMA
FROM [TABLA]
Agrupaciones
Las agrupaciones se usan para la realización de cubos. Los cubos son
herramientas muy potentes para análisis de datos debido a que permiten
trabajar grandes volúmenes de información de forma resumida.
Estructura básica de un cubo
SELECT [CAMPOS]*
FROM [TABLA]
WHERE [CONDICIONES]
GROUP BY [CAMPOS]*
*Los campos que van en SELECT deben repetirse en GROUP BY
Agrupaciones y Funciones
Las funciones realizan cálculos sobre las agrupaciones:
SELECT TIPTRA,CODTRA,COUNT(*) TRX,SUM(MTOTRX) MONTO
FROM CCTAF03
WHERE FECTRA BETWEEN '2018-05-01' AND '2018-05-31‘
GROUP BY TIPTRA,CODTRA
Muestra todas las combinaciones entre los campos TIPTRA y CODTRA.
Además, para cada agrupación muestra cuantos registros y el monto total.
Condiciones Sobre Cálculos en Agrupaciones
HAVING
SELECT TIPTRA,CODTRA,COUNT(*) TRX,SUM(MTOTRX) MONTO
FROM CCTAF03
WHERE FECTRA BETWEEN '2018-05-01' AND '2018-05-31‘
GROUP BY TIPTRA,CODTRA
HAVING COUNT(*)>100 OR SUM(MTOTRX)>100000
Muestra todas las combinaciones entre los campos TIPTRA y CODTRA.
Además, para cada agrupación muestra cuantos registros y el monto total.
Luego se filtra todos los grupos que no cumplan con la condición, por lo tanto
se mostrarán los grupos que tengan mas de 100 transacciones o mas de
$100.000.
Campos Calculados
Un campo calculado permite realizar cálculos dependiendo de una o más
condiciones. El formato es el siguiente:
SELECT CASE
WHEN [CONDICION 1] THEN [VALOR 1]
WHEN [CONDICION 2] THEN [VALOR 2]
.
.
WHEN [CONDICION N] THEN [VALOR N]
ELSE [VALOR PARA TODO EL RESTO]
END
Uso: en un SELECT simple, como parte de agrupaciones, en las condiciones
WHERE, dentro de una función, en las condiciones HAVING, etc.