lunes, 14 de octubre de 2024

Uso de WHERE para filtrar datos en la Base de Datos

 El uso de `WHERE` en SQL es para filtrar los datos que se extraen de una tabla, permitiéndote obtener solo los registros que cumplan con una o más condiciones específicas. Es muy útil cuando no necesitas todas las filas de una tabla, sino un subconjunto que cumpla con criterios específicos.


Concepto del WHERE:

`WHERE` permite establecer una o varias condiciones para seleccionar los registros que deseas ver o manipular en la base de datos. Se suele combinar con operadores como `=`, `>`, `<`, `LIKE`, `BETWEEN`, `IN`, y otros, para definir con precisión los criterios.


Estructura básica del WHERE:

sql

SELECT columna1, columna2, ...

FROM tabla

WHERE condición;


Ejemplos claros de WHERE:

1. Filtrar por igualdad:

   Supongamos que tienes una tabla llamada `clientes` con los siguientes datos:


   | ID  | Nombre   | País      | Total_Compras |

   | --- | -------- | --------- | ------------- |

   | 1   | Juan     | Argentina | 800           |

   | 2   | María    | Chile     | 1200          |

   | 3   | Pedro    | Argentina | 1500          |


   Si deseas obtener solo los clientes que son de Argentina, usarías:


   sql

   SELECT Nombre, País

   FROM clientes

   WHERE País = 'Argentina';


   Resultado:


   | Nombre | País      |

   | ------ | --------- |

   | Juan   | Argentina |

   | Pedro  | Argentina |


2. Filtrar por una condición numérica:

   Si quieres obtener todos los clientes que hayan hecho compras mayores a $1000, harías:


   sql

   SELECT Nombre, Total_Compras

   FROM clientes

   WHERE Total_Compras > 1000


   Resultado:


   | Nombre | Total_Compras |

   | ------ | -------------- |

   | María  | 1200           |

   | Pedro  | 1500           |


3. **Filtrar por texto con `LIKE`:**

   El operador `LIKE` se usa para buscar patrones en texto. Por ejemplo, si quieres encontrar a todos los clientes cuyo nombre comience con "M", usarías:


    sql

   SELECT Nombre

   FROM clientes

   WHERE Nombre LIKE 'M%';


   Resultado:


   | Nombre |

   | ------ |

   | María  |


   El `%` es un comodín que representa cualquier número de caracteres.


4. **Filtrar por un rango con `BETWEEN`:**

   Si quieres obtener los clientes cuyas compras están entre $1000 y $1500, podrías usar `BETWEEN`:


 sql

   SELECT Nombre, Total_Compras

   FROM clientes

   WHERE Total_Compras BETWEEN 1000 AND 1500;



   Resultado:


   | Nombre | Total_Compras |

   | ------ | -------------- |

   | María  | 1200           |

   | Pedro  | 1500           |


5. **Filtrar por varios valores con `IN`:**

   Si quieres obtener los clientes de Argentina y Chile, podrías usar el operador `IN`:


   sql

   SELECT Nombre, País

   FROM clientes

   WHERE País IN ('Argentina', 'Chile');

  

   Resultado:


   | Nombre | País      |

   | ------ | --------- |

   | Juan   | Argentina |

   | María  | Chile     |

   | Pedro  | Argentina |


Resumen:

El `WHERE` en SQL te permite especificar criterios para filtrar las filas que deseas seleccionar, actualizar o eliminar en una tabla. Se combina con operadores y funciones para obtener resultados más precisos y personalizados.