Consultas Básicas MySQL

- Si es de tu interés este artículo, apoyanos compartiendo en tus redes sociales favoritas y de esa manera también incentivando a tus amigos que crees les pueda interesar a que nos lean.


Consultas Básicas MySQL


 2.2 Consultas Básicas


Las consultas en MySQL permiten interactuar con los datos almacenados en las tablas. A través de ellas, puedes extraer información específica, manipular datos y presentarlos en un formato que sea útil para el análisis o la toma de decisiones.


2.2.1 Selección de Datos: SELECT


El comando `SELECT` es el más utilizado en SQL, ya que permite recuperar datos de una o más tablas. La sintaxis básica es:



SELECT columnas FROM tabla WHERE condiciones;



Ejemplos:


1. Seleccionar todas las columnas de una tabla:

  

   SELECT * FROM empleados;


   Esto selecciona y muestra todas las columnas de todos los registros en la tabla `empleados`.


2. Seleccionar columnas específicas:

  

   SELECT nombre, puesto FROM empleados;


   Aquí se seleccionan solo las columnas `nombre` y `puesto` de la tabla `empleados`.


3. Renombrar columnas en la salida:

  

   SELECT nombre AS 'Nombre del Empleado', puesto AS 'Cargo' FROM empleados;

 

   Esto cambia los nombres de las columnas en la salida de la consulta.


 2.2.2 Filtrado de Datos: WHERE, Operadores de Comparación


La cláusula `WHERE` se usa para filtrar los resultados de una consulta según una condición específica. Esto permite obtener solo los registros que cumplen ciertos criterios.


Ejemplos:


1. Filtrar registros según una condición:

 

   SELECT * FROM empleados WHERE salario > 3000;


   Esto selecciona todos los empleados que tienen un salario superior a 3000.


2. Usar operadores de comparación:

   - `=`: Igual a

   - `<>` o `!=`: Diferente de

   - `>`: Mayor que

   - `<`: Menor que

   - `>=`: Mayor o igual que

   - `<=`: Menor o igual que



   SELECT * FROM empleados WHERE puesto = 'Ingeniero';

   


3. Filtrar con múltiples condiciones (AND, OR):

   - `AND`: Ambas condiciones deben ser verdaderas.

   - `OR`: Al menos una de las condiciones debe ser verdadera.



   SELECT * FROM empleados WHERE puesto = 'Ingeniero' AND salario > 4000;

 

   Esto selecciona empleados que sean ingenieros y tengan un salario superior a 4000.



   SELECT * FROM empleados WHERE puesto = 'Ingeniero' OR salario > 4000;


   Esto selecciona empleados que sean ingenieros o que tengan un salario superior a 4000.


4. Filtrado por un rango de valores (BETWEEN):


   SELECT * FROM empleados WHERE salario BETWEEN 3000 AND 5000;

  

   Esto selecciona empleados cuyo salario esté entre 3000 y 5000, inclusive.


5. Filtrado por lista de valores (IN)

 

   SELECT * FROM empleados WHERE puesto IN ('Ingeniero', 'Administrador');


   Esto selecciona empleados cuyo puesto sea `Ingeniero` o `Administrador`.


6. Filtrado con valores nulos (IS NULL, IS NOT NULL):


   SELECT * FROM empleados WHERE fecha_contratacion IS NULL;


   Esto selecciona empleados que no tienen una fecha de contratación registrada.


 2.2.3 Ordenación de Resultados: ORDER BY


La cláusula `ORDER BY` se utiliza para ordenar los resultados de una consulta en orden ascendente (por defecto) o descendente.


 Ejemplos:


1. Ordenar en orden ascendente:

  

   SELECT nombre, salario FROM empleados ORDER BY salario;


   Esto ordena los empleados de menor a mayor salario.


2. Ordenar en orden descendente:


   SELECT nombre, salario FROM empleados ORDER BY salario DESC;


   Esto ordena los empleados de mayor a menor salario.


3. Ordenar por múltiples columnas:

  

   SELECT nombre, puesto, salario FROM empleados ORDER BY puesto ASC, salario DESC;

  

   Esto ordena primero por `puesto` en orden ascendente, y luego por `salario` en orden descendente dentro de cada grupo de puestos.


2.2.4 Agrupación de Resultados: GROUP BY, HAVING


La cláusula `GROUP BY` se utiliza para agrupar filas que tienen valores iguales en columnas específicas. Es común usarla junto con funciones de agregación como `COUNT`, `SUM`, `AVG`, `MAX`, y `MIN`.


Ejemplos:


1. Agrupar por una columna:

 

   SELECT puesto, COUNT(*) AS total_empleados 

   FROM empleados 

   GROUP BY puesto;


   Esto cuenta cuántos empleados hay en cada puesto.


2. Usar funciones de agregación con GROUP BY:


   SELECT puesto, AVG(salario) AS salario_promedio 

   FROM empleados 

   GROUP BY puesto;


   Esto calcula el salario promedio para cada puesto.


3. Filtrar grupos con HAVING:

   La cláusula `HAVING` se usa para filtrar los resultados después de aplicar `GROUP BY`. Es similar a `WHERE`, pero se usa después de la agrupación.



   SELECT puesto, COUNT(*) AS total_empleados 

   FROM empleados 

   GROUP BY puesto 

   HAVING total_empleados > 1;


   Esto selecciona solo los puestos que tienen más de un empleado.


2.2.5 Funciones de Agregación: COUNT, SUM, AVG, MAX, MIN


Las funciones de agregación permiten realizar cálculos sobre un conjunto de valores y devolver un único valor.


 Ejemplos:


1. Contar registros:


   SELECT COUNT(*) AS total_empleados FROM empleados;


   Esto cuenta el número total de empleados.


2. Sumar valores:


   SELECT SUM(salario) AS salario_total FROM empleados;


   Esto suma todos los salarios de los empleados.


3. Calcular promedio:


   SELECT AVG(salario) AS salario_promedio FROM empleados;

  

   Esto calcula el salario promedio de todos los empleados.


4. Encontrar el valor máximo:


   SELECT MAX(salario) AS salario_maximo FROM empleados;

 

   Esto encuentra el salario más alto entre los empleados.


5. Encontrar el valor mínimo:

   

   SELECT MIN(salario) AS salario_minimo FROM empleados;


   Esto encuentra el salario más bajo entre los empleados.


Ejemplo Combinado:


Imagina que tienes una tabla `ventas` con las siguientes columnas: `id_venta`, `fecha`, `id_producto`, `cantidad`, `precio_total`. Aquí hay algunas consultas que podrías realizar:


1. Seleccionar todas las ventas realizadas en agosto de 2024*


   SELECT * FROM ventas WHERE fecha BETWEEN '2024-08-01' AND '2024-08-31';



2. Contar el número total de ventas:

  

   SELECT COUNT(*) AS total_ventas FROM ventas;

   


3. Obtener el ingreso total por ventas en 2024:

  

   SELECT SUM(precio_total) AS ingreso_total 

   FROM ventas 

   WHERE YEAR(fecha) = 2024;

 


4. Agrupar las ventas por mes y calcular el ingreso total por mes:

  

   SELECT MONTH(fecha) AS mes, SUM(precio_total) AS ingreso_mensual 

   FROM ventas 

   GROUP BY MONTH(fecha);

  


5. Filtrar los meses con ingresos superiores a 10,000:

 

   SELECT MONTH(fecha) AS mes, SUM(precio_total) AS ingreso_mensual 

   FROM ventas 

   GROUP BY MONTH(fecha) 

   HAVING ingreso_mensual > 10000;



Resumen


El punto 2.2 Consultas Básicas cubre las operaciones fundamentales que realizarás en MySQL para interactuar con los datos almacenados en tus tablas. Aprenderás a seleccionar y filtrar datos, ordenar los resultados según tus necesidades, agrupar datos para obtener resúmenes significativos, y utilizar funciones de agregación para realizar cálculos como conteos, sumas y promedios. Estos conceptos son esenciales para realizar consultas efectivas en una base de datos MySQL.



No hay comentarios