Diferencia entre el operador = y IN en SQL

Prerrequisito – Comandos SQL
En este artículo vamos a ver la diferencia entre el operador = y IN en SQL.

1. Operador =:
El operador = se usa con la cláusula Where en SQL.
Por ejemplo, considere la tabla de estudiantes que se muestra a continuación,

ROLLO_NO NOMBRE DIRECCIÓN TELÉFONO Años
1 RAM Delhi xxxxxxxxxx 18
2 RAMESH GURGAÓN xxxxxxxxxx 18
3 SUJIT ROHTAK xxxxxxxxxx 20
4 SEGURO Delhi xxxxxxxxxx 18
3 SUJIT ROHTAK xxxxxxxxxx 20
2 RAMESH GURGAÓN xxxxxxxxxx 18

Consulta:
para obtener el registro de estudiantes con dirección como Delhi o ROHTAK.
La consulta SQL que usa el operador = sería,

 SELECT * 
FROM Student 
WHERE ADDRESS='Delhi' OR ADDRESS='ROHTAK'; 

Producción :

ROLLO_NO NOMBRE DIRECCIÓN TELÉFONO Años
1 RAM Delhi xxxxxxxxxx 18
3 SUJIT ROHTAK xxxxxxxxxx 20
4 SEGURO Delhi xxxxxxxxxx 18
3 SUJIT ROHTAK xxxxxxxxxx 20

2. Operador IN:
El operador IN se utiliza con la cláusula Where para comprobar si la expresión coincide con algún valor de la lista de valores. La ventaja de usar el operador IN es que evita el uso de múltiples operadores OR.

Consulta:
para obtener el registro de estudiantes con dirección como Delhi o ROHTAK.
La consulta SQL que usa el operador IN sería,

SELECT * 
FROM Student 
WHERE ADDRESS IN ('Delhi', 'ROHTAK'); 

Producción :

ROLLO_NO NOMBRE DIRECCIÓN TELÉFONO Años
1 RAM Delhi xxxxxxxxxx 18
3 SUJIT ROHTAK xxxxxxxxxx 20
4 SEGURO Delhi xxxxxxxxxx 18
3 SUJIT ROHTAK xxxxxxxxxx 20

Diferencia entre = y IN Operador:

= Operador Operador de ENTRADA
Permite la comparación de atributos con valor único. Permite la comparación de atributos con valor múltiple. Para la comparación de un solo valor, se comporta igual que = .
Para la comparación múltiple, tenemos que usar el Operador apropiado además (es decir, JOIN, OR, AND, etc.) No se requiere el uso adicional de Operador.
Útil en escenarios cuando la subconsulta devuelve un valor único como resultado. Útil en escenarios cuando la subconsulta devuelve múltiples valores como resultado.
Generará un error si tiene más de un resultado en la subconsulta. No generará un error si tiene múltiples resultados en la subconsulta.
Es más rápido en comparación con el operador IN. La cláusula IN es más lenta en comparación con =, ya que se compara con varios valores hasta que se cumple la condición.

Publicación traducida automáticamente

Artículo escrito por chirags_30 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *