analista de datos
SQL, o Structured Query Language, es un lenguaje de programación diseñado para gestionar y manipular bases de datos relacionales que debido a su simplicidad y su matemáticamente rigurosa forma de organizar, gestionar y consultar los datos es el más popular en la actualidad.
SQL utiliza distintos comandos cada uno con una función específica y estos a su vez que se pueden combinar para realizas consultas más precisas y complejas.

Tipos de comandos en SQL

Lenguaje de definición de datos (DDL) en SQL

Se refiere a comandos SQL que se utilizan para definir y gestionar la estructura de la base de datos. 
Dentro de sus principales comandos tenemos:
  • CREATE: Utilizado para crear objetos en la base de datos, como tablas, índices, vistas, procedimientos almacenados, etc.
Ejemplo:
CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    column3 datatype,
   ….
);
  • ALTER: Utilizado para modificar la estructura de objetos existentes en la base de datos, como agregar o eliminar columnas de una tabla.
Ejemplo:
ALTER TABLE table_name
ADD column_name datatype;
  • DROP: Utilizado para eliminar objetos de la base de datos, como tablas, índices, vistas, etc.
Ejemplo:
DROP DATABASE databasename;
  • TRUNCATE: Elimina todos los registros de una tabla, pero mantiene la estructura de la tabla para futuros usos.
Ejemplo:
TRUNCATE TABLE Categories;
  • COMMENT: Añade comentarios o notas descriptivas a objetos de la base de datos.
Ejemplo:
–Select all:
  • RENAME: Cambia el nombre de un objeto existente en la base de datos, como una tabla.
Ejemplo:
RENAME TABLE old_table TO new_table;
  • CREATE INDEX: Crea un índice en una o varias columnas de una tabla para mejorar el rendimiento de las consultas.
Ejemplo:
CREATE INDEX part_of_name ON customer (name(10));
  • DROP INDEX: Elimina un índice existente en una tabla.
Ejemplo:
DROP INDEX `PRIMARY` ON t;
  • CREATE VIEW: Crea una vista, que es una representación virtual de los datos de una o más tablas.
Ejemplo:
CREATE VIEW test.v AS SELECT * FROM t;
  • DROP VIEW: Elimina una vista existente en la base de datos.
Ejemplo:
DROP VIEW [Brazil Customers];

Data Query Language (DQL)

en SQL

En SQL se utilizan estos comandos para realizar consultas y recuperar datos de la base de datos. 
Aquí tienes una lista de los principales comandos DQL con sus funciones:
  • SELECT: Recupera datos de una o más tablas. Puede seleccionar columnas específicas, aplicar funciones de agregación y filtrar resultados.
  • FROM: Especifica la tabla o tablas de las cuales se van a recuperar los datos en una consulta SELECT.
Ejemplo:
SELECT CustomerName, City FROM Customers;
  • WHERE: Filtra los resultados de una consulta basándose en
    una condición especificada.
  • DISTINCT: Devuelve valores únicos en una columna o conjunto de columnas.
  • ORDER BY: Ordena los resultados de una consulta en orden ascendente o descendente basándose en una o más columnas.
Ejemplo:
SELECT DISTINCT CustomerName, City FROM Customers
WHERE Country = «PA»
ORDER BY CustomerName asc;
Explicación: Selecionamos todos los clientes donde Country sea «PA» y con el distinct excluimos los nombres de clientes repetidos. 
  • GROUP BY: Agrupa los resultados de una consulta según los valores de una o más columnas.
  • HAVING: Filtra los resultados de una consulta GROUP BY basándose en una condición
Ejemplo:
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5;
Explicación: Selecionamos todos los paises y con COUNT() contamos cuantos clientes unicos tienen utilizando el CustomerID mediante el GROUP BY los contamos por pais y con el HAVING COUNT() filtramos los Paises a solo traer los que tengan mas de 5 clientes.
  • LIMIT: Limita el número de filas devueltas por una consulta.
Ejemplo:
SELECT 
employee_id, first_name, last_name 

FROM employees 

ORDER BY  first_name

LIMIT  5; 

Explicación: Selecionamos con el LIMIT 5 los primeros 5 empleados ordenados por su nombre.
SQL - LIMIT

En esta imagen vemos el resultados de la selección mencionada donde observamos que solo trae los 5 primeros en orden alfabetico.

  • OFFSET: Especifica el número de filas que se deben omitir antes de comenzar a devolver resultados en una consulta LIMIT.
Ejemplo:
SELECT 
employee_id, first_name, last_name 

FROM employees 

ORDER BY  first_name

LIMIT  5 OFFSET 3; 

Explicación: con el LIMIT 5 vamos a seleccionar solo los primeros 5 empleados ordenados por su nombre pero con el OFFSET le indicamos al LIMIT que extraiga los 5 primeros posteriores los 3 primeros osea en vez de traer el 1,2,3,4,5 traera los 4,5,6,7,8.
SQL - LIMIT - OFFSET

En esta imagen vemos el resultados de la selección mencionada donde observamos que gracias al OFFSET solo trae los 5 primeros en orden alfabetico posteriores a los 3 primeros.

  • JOIN: Combina filas de dos o más tablas basándose en una condición de relación entre ellas.
Para explicar mejor el tema de los join primero definieremos 2 tablas:

La tabla clientes
TABLA - CLIENTES
La tabla ventas
TABLA - VENTAS

Dentro de los JOIN tenemos

SQL - JOINS
  • INNER JOIN: Combina filas de dos o más tablas basándose en una condición de relación entre ellas donde la llave utilizada se encuentra en las 2 tablas donde solamente se trae los datos que coinciden.
Ejemplo:
SELECT 
count(c.cliente_id) as ‘clientes_miembros’, sum(v.monto) as ‘monto_venta’ 

FROM ventas v

INNER JOIN clientes c

on  v.cliente_id = c.cliente_id; 

SQL - INNER
Explicación: en este script mediante la función count() contamos la cantidad de clientes que han comprado, con la función de sum() sumamos el monto de cada compra de dichos clientes y gracias al inner join obtenemos asi un análisis de clientes que son miembros y el monto de la compra de los mismos.
  • LEFT JOIN: Combina filas de dos o más tablas basándose en una condición de relación entre ellas donde la llave utilizada se encuentra en las 2 tablas donde se trae los datos del lado izquierdo de la relación y los que coinciden del lado derecho.
Ejemplo:
SELECT 
count(v.cliente_id) as ‘clientes_totales’,count(c.cliente_id) as ‘clientes_miembros’, sum(v.monto) as ‘monto_venta’ 

FROM ventas v

LEFT JOIN clientes c

on  v.cliente_id = c.cliente_id;

SQL - LEFT
Explicación: en este script mediante la función count(v.cliente_id) contamos la cantidad de clientes totales que han comprado sean o no miembros y con el count(c.cliente_id) contamos los clientes que si son miembros de los clientes totales, con la función de sum() sumamos el monto de cada compra de dichos clientes y gracias al left join obtenemos asi un análisis de clientes totales que compraron así también de cuantos de estos son miembros y el monto de la compra de los mismos.
  • RIGTH JOIN: Combina filas de dos o más tablas basándose en una condición de relación entre ellas donde la llave utilizada se encuentra en las 2 tablas donde se trae los datos del lado derecho de la relación y los que coinciden del lado derecho.
Ejemplo:
SELECT 
count(c.cliente_id) as ‘clientes_miembros’, sum(v.monto) as ‘monto_venta’ 

FROM ventas v

RIGTH JOIN clientes c

on  v.cliente_id = c.cliente_id;

SQL - RIGTH
Explicación: en este script mediante la función count(c.cliente_id) contamos la cantidad de clientes miembros totales esten o no en las ventas y con la función de sum() sumamos el monto de compra de los clientes miembros y gracias al rigth join obtenemos así un análisis de todos los clientes que son miembros y el monto de la compra de los mismos.
  • UNION: Combina los resultados de dos o más consultas SELECT en un conjunto de resultados único.
Ejemplo:
SELECT 
‘rigth’ as ‘tipo_de_join’,count(c.cliente_id) as ‘clientes_miembros’, sum(v.monto) as ‘monto_venta’ 

FROM ventas v

RIGTH JOIN clientes c

on  v.cliente_id = c.cliente_id

UNION

SELECT 
‘inner’ as ‘tipo_de_join’,count(c.cliente_id) as ‘clientes_miembros’, sum(v.monto) as ‘monto_venta’ 

FROM ventas v

INNER JOIN clientes c

on  v.cliente_id = c.cliente_id;

SQL - UNION
Explicación: en este script mediante la función union podemos unir los 2 ejemplos anteriores agregando la columna ‘tipo_de_join’ para distinguirlos, es importa mencionar que en la unión se deben de tener la misma cantidad de columnas con los mismos nombres y tipo de datos para que funcione.

Conclusiones

Como podemos observar SQL cuenta con distintos comandos nos ayudan en la administración, creación, mantenimiento y explotación de las bases de datos de una forma más ordena, precisa y lógica utilizando un lenguaje bastante simple.
SQL permite que estos comandos se pueden utilizar en conjunto para realizar consultas más complejas y precisas a nuestras bases de datos para obtener mejores análisis.
SQL tambien permite que gracias a otros lenguajes de programación se puedan ejecutar consultas complejas o ejecutar procedimientos almacenados con el objetivo de automatizar procesos.
Para conocer mas sobre base de datos te invito a leer el articulo:
https://joseluisalba.com/que-son-las-base-de-datos-relacionadas/
Categorías: Conceptos Basicos