databaseSQL: Estructuras de Control y Consultas Básicas


Este es el flujo estándar para construir una consulta SQL.

SELECT FROM WHERE GROUP BY HAVING ORDER BY LIMIT/TOP

1. Estructura CASE:

La estructura CASE es útil para realizar decisiones dentro de una consulta SQL, permitiendo evaluar diferentes condiciones. A continuación se muestra el ejemplo básico:

-- Estructura CASE básica:
Begin 
    Declare @v_nroMensaje Tinyint =1
    Declare @v_txtMensaje varchar(max)
    Set @v_txtMensaje = case @v_nroMensaje
        when 1 then 'Hello world'
        when 2 then 'vas a lograrlo'
        when 3 then 'Eres un campeon'
        else 'Mensaje no implementado'
    End
    print 'El valor es: ' + @v_txtMensaje
End
go

2. Evaluación de Regiones con CASE:

Este bloque de código utiliza el CASE para evaluar regiones y asignar un valor según la región de origen.


3. Funciones de Fecha y Tiempo:

Consultas relacionadas con fechas y cálculos de diferencia entre fechas.


4. Promedio de Edad de Empleados:

Consulta para obtener el promedio de edad de los empleados en una empresa.


5. Estructura CASE - Evaluación de Edad:

El siguiente bloque de código usa CASE para determinar la etapa generacional según la edad.


6. Optimización de Consultas con CASE:

En este caso, el CASE se utiliza para optimizar la consulta de estado de una factura.


7. Utilización de WHILE:

El ciclo WHILE permite ejecutar un bloque de código repetidamente mientras se cumpla una condición.


8. Ejemplo de Multiplicación con WHILE:

Mostrar los productos de multiplicar números del 1 al 10 por 4.


9. Función DATEADD:

Se puede utilizar para sumar intervalos de tiempo (meses, días, etc.) a una fecha específica.


10. Ejemplos de Consultas:

10.1. Listado de Precios de Productos:

Obtener la suma total de los precios de los productos.

10.2. Maximo y Minimo Sueldo de Vendedores:

Obtener el sueldo máximo y mínimo de los vendedores de tipo "1".

10.3. Promedio de Antigüedad de los Clientes:

Obtener el promedio de antigüedad de los clientes.

10.4. Facturas Pendientes:

Contar la cantidad de facturas pendientes.

10.5. Producto Más Caro:

Obtener el nombre y el precio del producto más caro.


11. Consultas con GROUP BY:

11.1. Agrupar Clientes por Distrito:

Agrupar los clientes según el código del distrito.

11.2. Agrupar Productos por Línea de Producto:

Agrupar productos por línea de producto con cantidad >= 10.

11.3. Clientes por Tipo de Cliente:

Agrupar clientes por tipo de cliente con cantidad >= 10.


12. Consultas con JOIN (Multitablas):

12.1. Nombre de Vendedor y Distrito:

Mostrar el nombre del vendedor junto con el nombre del distrito.

12.2. Facturas Generadas por Cliente:

Contar la cantidad de facturas generadas por cliente.

12.3. Producto y Proveedor:

Mostrar el nombre del producto y el nombre del proveedor.


13. Consultas con TOP:

13.1. Primeros 3 Productos:

Obtener los 3 productos más caros.

13.2. Últimos 3 Productos:

Obtener los 3 productos más baratos.

Last updated