¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)
Uso del operador IN en SQL con la tabla pedidos
Portada » Uso del operador IN en SQL con la tabla pedidos
Anuncios
Publicidad

Uso del operador IN en SQL con la tabla pedidos

En este tutorial aprenderás a usar el operador IN en SQL, trabajando con la tabla pedidos dentro de la base de datos tiendaonline. Este operador es muy práctico cuando necesitamos comprobar si un valor está dentro de una lista, evitando escribir múltiples condiciones con OR.


Paso 1: Seleccionar la base de datos

Primero, nos aseguramos de que trabajamos con la base de datos correcta:

USE tiendaonline;

Paso 2: Ver los registros de la tabla pedidos

Antes de aplicar consultas, revisamos la información disponible en la tabla:

SELECT * FROM pedidos;

Aquí podemos observar columnas como id_pedido, id_cliente, fecha_pedido, total, entre otras.


¿Qué es el operador IN en SQL?

El operador IN se utiliza junto con la cláusula WHERE para filtrar registros cuya columna contenga un valor dentro de un conjunto específico.

👉 Su ventaja principal es que simplifica las consultas cuando necesitamos comparar un campo con múltiples valores, en lugar de encadenar varias condiciones con OR.


Paso 3: Ejemplo con IN en la tabla pedidos

Supongamos que queremos obtener todos los pedidos cuyo total sea 750.00 o 550.00. La consulta sería:

SELECT * FROM pedidos AS p 
WHERE p.total IN (750.00, 550.00);

🔹 Esta consulta devuelve todos los pedidos cuyo valor total coincida con alguno de los valores de la lista (750.00 o 550.00).

⚡ Es más clara y eficiente que escribir varias condiciones con OR.


Comparación con el operador OR

Si hiciéramos lo mismo con OR, la consulta sería más extensa:

SELECT * FROM pedidos AS p 
WHERE p.total = 750.00 
   OR p.total = 550.00;

Además, con OR también podemos comparar distintas columnas. Por ejemplo:

SELECT * FROM pedidos AS p 
WHERE p.total = 750.00 
   OR p.fecha_pedido = '2023-03-10';

En este caso, se seleccionan los pedidos que tengan total de 750.00 o cuya fecha sea exactamente 2023-03-10.


Paso 4: Ejemplo con texto en IN

El operador IN no solo funciona con números, también podemos usarlo con texto. Por ejemplo, para seleccionar pedidos realizados en ciudades concretas:

SELECT * FROM pedidos AS p
WHERE p.ciudad_entrega IN ('Madrid', 'Valencia', 'Sevilla');

Esto devuelve todos los pedidos cuya ciudad de entrega sea una de las mencionadas.


Paso 5: Ejemplo con NOT IN

El operador también puede invertirse con NOT IN, lo que nos permite excluir registros:

SELECT * FROM pedidos AS p
WHERE p.total NOT IN (750.00, 550.00);

En este caso, se mostrarán todos los pedidos excepto los que tengan como total 750.00 o 550.00.



Uso del operador IN en SQL con la tabla pedidos

Ventajas de usar IN

  • Es más legible y limpio que usar múltiples condiciones con OR.
  • Permite trabajar con listas dinámicas de valores.
  • Puede usarse tanto con números como con cadenas de texto.
  • Combinado con NOT IN, es muy útil para excluir múltiples valores de una sola vez.

Preguntas frecuentes sobre el operador IN en SQL

1. ¿Qué diferencia hay entre IN y OR en SQL?
IN se usa cuando comparamos una columna con múltiples valores de una lista. OR es más flexible, ya que permite combinar condiciones de diferentes columnas.

2. ¿Puedo usar IN con subconsultas?
Sí. Es muy común usar IN con subconsultas. Ejemplo:

SELECT * FROM pedidos 
WHERE id_cliente IN (SELECT id FROM clientes WHERE ciudad = 'Madrid');

Esto devuelve todos los pedidos de clientes que viven en Madrid.

3. ¿Es más rápido usar IN o múltiples OR?
Depende del motor de base de datos, pero en general IN es más eficiente y fácil de leer.

4. ¿Qué diferencia hay entre IN y EXISTS?

  • IN compara una columna con una lista de valores.
  • EXISTS evalúa si una subconsulta devuelve filas.
    En muchos casos, se pueden usar de forma equivalente.

5. ¿Qué pasa si la lista de IN está vacía?
Si la lista está vacía, la consulta no devolverá ningún resultado, ya que no hay valores con los que comparar.

Te puede interesar:

Seguir leyendo:

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)

Deja una respuesta

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)
error: Content is protected !!
Hablemos de informática
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.