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.

Select - Concepto y ejemplo de un select para Base de Datos

Un `SELECT` es una consulta en bases de datos que permite extraer información de una o más tablas. Es uno de los comandos más comunes en SQL (Structured Query Language) y se utiliza para consultar datos que cumplan con ciertas condiciones.

Un ejemplo en la vida real sería el siguiente: Imagínate que tienes una tienda online de ropa y en tu base de datos tienes una tabla llamada `clientes` que contiene información como nombre, correo electrónico, país, y total de compras. Si quisieras ver una lista de todos los clientes que han hecho compras mayores a $1000, usarías un `SELECT` para extraer esa información de la base de datos.

### Ejemplo práctico:

La estructura básica de un `SELECT` es:

```sql
SELECT columna1, columna2, ...
FROM tabla
WHERE condición;
```

#### Ejemplo real:
Digamos que tienes la siguiente tabla llamada `clientes`:

| ID  | Nombre     | País      | Total_Compras |
| --- | ---------- | --------- | ------------- |
| 1   | María      | Argentina | 800           |
| 2   | Pedro      | España    | 1200          |
| 3   | Lucía      | Chile     | 1500          |
| 4   | Juan       | Argentina | 2000          |

Si quisieras ver los nombres y países de los clientes que han gastado más de $1000, el `SELECT` sería:

```sql
SELECT Nombre, País
FROM clientes
WHERE Total_Compras > 1000;
```

El resultado sería:

| Nombre | País    |
| ------ | ------- |
| Pedro  | España  |
| Lucía  | Chile   |
| Juan   | Argentina |

En este ejemplo, el `SELECT` extrae solo los nombres y países de los clientes que cumplen con la condición de haber realizado compras por más de $1000.