Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
MySQL: operadores de comparación
Este tutorial de MySQL explora todos los operadores de comparación para probar la igualdad y la desigualdad, así como operadores más avanzados.
describir
Utilice operadores de comparación en la cláusula WHERE para determinar qué registros seleccionar. La siguiente es una lista de operadores de comparación que puede usar en MySQL:
operador de comparación | describir |
---|---|
= | igual |
<=> | Igual (compara valores NULL de forma segura) |
<> | no es igual |
!= | no es igual |
> | mejor que |
>= | Mayor qué o igual a |
< | menos que |
<= | Menos que o igual a |
existe( ) | coincide con los valores de la lista |
No | negar una condición |
Entre | rango (inclusivo) |
Blanco | nulo |
no nulo | valor no nulo |
me gusta | Coincidencia de patrones usando % y _ |
existe | La condición se cumple si la subconsulta devuelve al menos una fila |
Revisemos los operadores de comparación que puede usar en MySQL.
Ejemplo: operador de igualdad
En MySQL puedes usar =
operador para probar la igualdad en las consultas.Esta =
Los operadores solo pueden probar la igualdad en valores que no sean NULL.
Por ejemplo:
SELECT * FROM contacts WHERE last_name="Johnson";
En este ejemplo, la declaración SELECT anterior devolverá todas las filas en la tabla de contactos donde last_name es igual a Johnson.
Ejemplo: operador de igualdad (seguro con valores NULL)
porque =
El operador solo compara valores no NULL y no es seguro usarlo con valores NULL.Para superar esta limitación, MySQL agregó <=>
Los operadores le permiten probar la igualdad de valores NULL y no NULL.
Para explicar mejor la diferencia entre los dos. =
operador y <=>
operadores, incluiremos algunos ejemplos con consultas y datos.
Supongamos que tenemos una tabla llamada contactos en MySQL llena con los siguientes datos:
Identificación de contacto | apellido | sitio 1 | sitio 2 |
---|---|---|---|
1 | Johnson | Red de Ciencia y Tecnología | |
2 | anderson | ||
3 | Herrero | pendiente | base de datos |
4 | jackson | revisatumath.com | digminecraft.com |
nosotros podemos usar =
Operadores en la siguiente consulta:
SELECT * FROM contacts WHERE website1 = website2;
porque usamos =
operador, obtenemos el siguiente resultado:
Identificación de contacto | apellido | sitio 1 | sitio 2 |
---|---|---|---|
3 | Herrero | pendiente | base de datos |
En este ejemplo, la declaración SELECT anterior devolverá todas las filas en la tabla de contactos donde sitio web1 es igual a sitio web2. No devolverá el segundo registro donde tanto el sitio web1 como el sitio web2 son valores NULL.
Ahora veamos cuando usamos <=>
Operadores que se pueden usar de forma segura con valores NULL:
SELECT * FROM contacts WHERE website1 <=>website2;
porque usamos <=>
operador, obtenemos el siguiente resultado:
Identificación de contacto | apellido | sitio 1 | sitio 2 |
---|---|---|---|
2 | anderson | ||
3 | Herrero | pendiente | base de datos |
Nuestra consulta ahora devuelve todas las filas en la tabla de contactos donde sitio web1 es igual a sitio web2, incluidas aquellas donde sitio web1 y sitio web2 son valores NULOS.
Ejemplo – Operador de desigualdad
En MySQL puedes usar <>
o !=
operador para probar las desigualdades en las consultas.
Por ejemplo, podemos usar <>
operador, de la siguiente manera:
SELECT * FROM contacts WHERE last_name <> 'Johnson';
En este ejemplo, la declaración SELECT devolverá todas las filas en la tabla de contactos donde last_name no es igual a Johnson.
o también puedes usar !=
operador, de la siguiente manera:
SELECT * FROM contacts WHERE last_name != 'Johnson';
Ambas consultas devolverán los mismos resultados.
Ejemplo: operador mayor que
puedes usarlo >
operador en MySQL para probar expresiones para mayor que.
SELECT * FROM contacts WHERE contact_id > 50;
En este ejemplo, la instrucción SELECT devolverá todas las filas de la tabla de contactos con un contact_id mayor que 50. Un contact_id igual a 50 no se incluirá en el conjunto de resultados.
Ejemplo: operador mayor o igual que
En MySQL puedes usar >=
operador para probar expresiones para mayor o igual que.
SELECT * FROM contacts WHERE contact_id >= 50;
En este ejemplo, la instrucción SELECT devolverá todas las filas de la tabla de contactos con un contact_id mayor o igual a 50. En este caso, se incluirá en el conjunto de resultados un contact_id igual a 50.
Ejemplo: operador menor que
puedes usarlo <
operador en MySQL para probar expresiones por menos de.
SELECT * FROM inventory WHERE product_id < 300;
En este ejemplo, la instrucción SELECT devolverá todas las filas de la tabla de inventario con product_id inferior a 300. product_id igual a 300 no se incluirá en el conjunto de resultados.
Ejemplo: operador menor o igual
En MySQL puedes usar <=
operador para probar expresiones menores que o iguales a.
SELECT * FROM inventory WHERE product_id <= 300;
En este ejemplo, la instrucción SELECT devolverá todas las filas de la tabla de inventario con product_id menor o igual a 300. En este caso, el conjunto de resultados contendrá product_id igual a 300.
Ejemplo: operadores avanzados
Hemos escrito tutoriales específicos para analizar cada uno de los operadores de comparación más avanzados. Estos temas se tratarán más adelante, o puede saltar a uno de estos tutoriales ahora.
- existe( )
- No
- Entre
- Blanco
- no nulo
- me gusta
- existe