Consultas en MySQL utilizando la cláusula WHERE (Consultas condicionales)

Mysql

Ya hemos visto como realizar consultas simples haciendo uso de SELECT en MySQL, sin embargo debemos dar un paso más en la construcción de consultas complejas para obtener los datos deseados mediante código SQL, a continuación veremos consultas en MySQL utilizando la cláusula WHERE para definir condiciones que permitan filtrar los datos que estamos buscando.

Consultas en MySQL utilizando la cláusula WHERE (Consultas condicionales)

Si deseas conocer el manejo básico y la sintaxis de SELECT, puedes visitar el siguiente enlace.

Cómo realizar consultas en bases de datos MySQL (Cláusula SELECT)

Sintaxis de SELECT con WHERE

SELECT columna1, columna2, columna3 FROM mi_tabla WHERE condición;

Con la sintaxis anterior podemos definir una consulta con WHERE, ¿Pero cuando necesitamos hacer uso de esta cláusula?; pues bien, podemos utilizarla siempre que necesitemos buscar datos según una condición o parámetro, no siempre deseamos traer en una consulta todos los datos de la tabla, muchas veces deseamos traer o mostrar los registros que cumplen con una condición, veamos ejemplos.

Para recrear estos ejemplos seguiremos con el uso de nuestra tabla “Personas”, creada en un artículo anterior que puedes ver aquí.

Ejemplo 1: Consultando el registro de una persona con ID: 2.

SELECT Nombre, Telefono, Direccion FROM Persona WHERE Id=2;

Esta consulta mostrará el o los registros que tengan como Id, el valor 2. será un solo registro debido a que esta es la Primary Key de la tabla.

Como resultado obtenemos

consultas en MySQL utilizando la clausula WHERE

Ejemplo 2: Consultando todos los registros con Id diferente a 2.

SELECT Nombre, Telefono, Direccion FROM Persona WHERE Id <> 2;

A diferencia de la consulta anterior esta nos mostrará todos los registros menos el registro con id 2; debido a que estamos haciendo uso de operador “<>”, Diferente.

Como resultado obtenemos

consultas en MySQL utilizando la clausula WHERE

Ejemplo 3: Consultando el Id, Apellidos, Teléfono, Dirección del registro con nombre: María.

SELECT Id, Telefono, Direccion FROM Persona WHERE Nombre = 'María';

Nótese que aquí utilizamos el parámetro de la consulta encerrado entre comillas; ya que estamos referenciando un valor de tipo cadena (VARCHAR).

Como resultado obtenemos

consultas en MySQL utilizando la clausula WHERE

Nota: Si deseamos buscar todos los registros diferentes a un valor que estamos pasando, solo debemos establecer la diferencia con “<>” o también es válido con “!=”.

Ejemplo 4: Consultando los registros con Id mayor o igual que 3.

SELECT * FROM Persona WHERE Id >= 3;

En esta consulta estamos solicitando todas las columnas con “*”, sin embargo también podemos solicitar las necesarias.

Como resultado obtenemos

consultas en MySQL utilizando la clausula WHERE

Basados en los ejemplos anteriores también podemos hacer uso de los operadores:

Operador Nombre
< Menor que
> Mayor que
= Igual a
>= Mayor o igual que
<= Menor o igual que
!=   o  <> Diferente de

Ejemplo 5: Consultando registros que hacen parte de un rango, ejemplo registros con ID entre 2 y 4.

Otro operador muy útil cuando construimos consultas en MySQL utilizando la cláusula WHERE es el BETWEEN; que básicamente nos permite buscar los registros que hacen parte de un rango dado en la consulta.

SELECT Id, Nombre, Apellido, Telefono, Direccion FROM Persona WHERE Id BETWEEN 2 AND 4;
Como resultado obtenemos

consultas en MySQL utilizando la clausula WHERE

Utilizando operadores lógicos OR, AND

El uso de operadores lógicos en consultas SQL, nos permite construir consultas complejas y añadir más condicionales para filtrar los registros.

Ejemplo 6: Consultar los registros con apellido “Gil” y teléfono “433345”.

SELECT Id, Nombre, Apellido, Telefono, Direccion FROM Persona WHERE Apellido = 'Gil' AND Telefono = '433345';

Como podemos observar estamos definiendo en la consulta dos condiciones, una el apellido y otra el teléfono; en vista que utilizamos el operador AND solo los registros que cumplen con dicha condición serán mostrados.

Como resultado obtenemos

consultas en MySQL utilizando la clausula WHERE

Ejemplo 7: Consultar los registros con apellido “Gil” o teléfono “433345”.

SELECT Id, Nombre, Apellido, Telefono, Direccion FROM Persona WHERE Apellido = 'Gil' OR Telefono = '433345';

Para esta consulta solo cambiamos el operador AND por OR, teniendo presente que deseamos hacer la consulta que nos muestre los registros que cumplen con una u otra condición.

Como resultado obtenemos

consultas en MySQL utilizando la clausula WHERE

Errores comúnes en consultas con WHERE y operadores de relación y lógicos

Cuando empezamos a construir consultas con estos operadores es recomendable tener cuidado al momento de escribir las consultas, cualquier dato mal escrito puede generar errores o lanzar resultados erróneos, para ello ten presente los siguientes puntos.

  • Escribe correctamente los nombres de las columnas de la tabla.
  • Realiza pruebas a medida que vas creando la consulta, será más fácil detectar errores a escribir una consulta grande y luego probarla.
  • Practica bien el uso de los operadores relacionales como los operadores lógicos.
  • Si obtienes un error en los resultados mostrados verifica las condiciones y operadores que estás utilizando.
  • Utiliza paréntesis cuando desees agrupar condiciones, estas condiciones agrupadas en paréntesis se evaluarán como una sola.

Hemos llegado al final, el uso de consultas en MySQL utilizando la cláusula WHERE son esenciales para la gestión de bases de datos, reportes y desarrollo de Software que usan bases de datos relacionales, solo la practica permitirá realizar consultas exactas.

¡Suscríbete a mi canal, para acceder a más contenidos gratuitos!

Deja un comentario

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