Si necesitas un código de programación en específico, escríbeme al formulario de contacto.

BUSCA TU CÓDIGO


BUSCA MÁS CÓDIGOS DE PROGRAMACIÓN AQUÍ:

▷ Sentencia SQL: Consultar registros específicos de una tabla (Condicional WHERE)


Sentencia SQL anterior: 
Consultar todos los registros de una tabla
-------------------------------------------------------------------------------------------
En este post veremos las sentencias SQL usadas para consultar registros específicos guardados en una tabla de la base de datos, empleando el condicional WHERE, varias palabras claves y operadores que nos permitirán obtener una información más detallada, precisa y conforme a lo que deseamos saber:

Consultar todos los registros que cumplan una determinada condición:
SELECT * FROM `DB`.`TABLA` WHERE CAMPO="VALOR";

SELECT * FROM `DB`.`TABLA` WHERE CAMPO IN ("VALOR");

SELECT * FROM `DB`.`TABLA` WHERE CAMPO LIKE 'VALOR';


Consultar todos los registros que cumplan más de una condición:
SELECT * FROM `DB`.`TABLA` WHERE CAMPO1="VALOR1" AND CAMPO2="VALOR2";


Consultar todos los registros que cumplan una u otra condición:
SELECT * FROM `DB`.`TABLA` WHERE CAMPO1="VALOR1" OR CAMPO2="VALOR2"; 

SELECT * FROM `DB`.`TABLA` WHERE CAMPO1 IN ("VALOR1", "VALOR2");


Consultar todos los registros cuyo campo contenga un valor que se encuentre dentro de un rango:
SELECT * FROM `DB`.`TABLA` WHERE CAMPO1 BETWEEN "VALOR1" AND "VALOR2"; 


Instrucciones y Recomendaciones

Este código lo podemos usar desde la consola de comandos de MySQL Server (MySQL Command Line Client), o desde los editores SQL de herramientas gráficas como MySQL Workbench y phpMyAdmin:





1-Digita la sentencia SQL en la consola de comandos de tu preferencia.

2-En todas las sentencias que veremos en este post, observaremos que poseen en su parte inicial la estructura de la línea de código en el lenguaje SQL que se utiliza para consultar todos los registros de una tabla; por lo cual, te invitamos a ver la explicación de este tipo de consulta, dando clic aquí.

Sólo nos centraremos en esta oportunidad, en detallar la última parte de cada línea, que es la que se modifica. En todas estas se usará una palabra clave y/o expresión conocida como "WHERE" (donde), y que nos permitirá condicionar una consulta al establecer ciertos parámetros para obtener un informe más específico de los datos de nuestra tabla creada en la base de datos.


3-Iniciando con las primeras 3 sentencias "Consultar todos los registros que cumplan una determinada condición", encontramos:

*En la sentencia resaltada de color "rosado", se procede a consultar de la base de datos, registros donde en un determinado campo se encuentre un valor exacto; por lo cual, se usa el signo igual "=".
Ejemplo. Suponiendo que tengamos en nuestra tabla un campo llamado "edad", la última parte de nuestra consulta quedaría:

WHERE edad=27;
(Estamos consultando todos los registros donde en el campo "edad" el valor sea "27").

*Siguiendo con la línea resaltada con "marrón claro", se usa la expresión "IN" con la cual estamos definiendo de que en un campo determinado de nuestra tabla debe de encontrarse el valor que especifiquemos dentro de los paréntesis "()", lo que nos producirá un resultado equivalente al que obtendríamos si usáramos la sentencia anterior (la del signo igual "="). 
WHERE ciudad IN ("Barranquilla");
(Estamos consultando todos los registros donde en el campo "ciudad" el valor sea "Barranquilla").

Al usar la expresión "IN" obtendremos otra posibilidad de consulta, la cual verás más abajo.
 
*En la tercera sentencia SQL resaltada de color "amarillo", se lleva a cabo la utilización de la palabra clave "LIKE", y que por medio de la cual podemos establecer un patrón de búsqueda para traer los registros que necesitemos.
Podemos usar el símbolo "%" (porcentaje) en el patrón de búsqueda, y dependiendo de la ubicación que le demos a este comodín, se llevará a cabo la consulta específica. Ejemplos:

WHERE ciudad LIKE "Cartagena";

(Estamos consultando todos los registros donde en el campo "ciudad" el valor sea "Cartagena"). Al usar este tipo de consulta obtendremos resultados equivalentes tales como si usáramos las sentencias anteriores ("IN" y "=").

WHERE nombres LIKE "Mar%";

(Estamos consultando todos los registros donde en el campo "nombres" el valor comience por "Mar"). En otras palabras, esta consulta podría mostrarnos registros donde los nombres sean: María, Mariana, Marcos, etc.
WHERE apellidos LIKE "%ez";
(Estamos consultando todos los registros donde en el campo "apellidos" el valor termine en "ez"). Esta consulta podría mostrarnos registros donde los últimos apellidos sean: Pérez, Martínez, Ramírez, etc.
WHERE nombres LIKE "%el%";
(Estamos consultando todos los registros donde en el campo "nombres" el valor contenga en cualquier parte "el"). Esta consulta podría mostrarnos registros donde los nombres sean: Miguel, Selenia, Elio, etc.

4-Pasando al siguiente tipo de consulta "Consultar todos los registros que cumplan más de una condición", encontramos una línea resaltada con color "verde", aquí usamos el operador lógico "AND" que nos permitirá establecer más de una condición, las cuales deben de cumplirse para mostrar un resultado en nuestra consulta.
Ejemplo:

WHERE ciudad="Cartagena" AND edad=27;

(Estamos consultando todos los registros donde en el campo "ciudad" el valor sea "Cartagena" y el valor del campo "edad" sea "27").

Si deseas establecer una tercera condición, puedes hacerlo; para ello, debes tener en cuenta de usar el operador "AND" para conectar las condiciones. Ejemplo:

WHERE ciudad="Cartagena" AND edad=27 AND peso(Kg)=60;








5-A continuación, tenemos un par de sentencias que usaremos para "Consultar todos los registros que cumplan una u otra condición":

*En la primera línea de código resaltada con un "azul fluorescente", procedemos a usar el operador lógico "OR", que al igual que el operador "AND", nos va a permitir conectar varias condiciones; sin embargo, en este caso estamos estableciendo que sólo es necesario que se cumpla alguna (por lo menos una) de las condiciones establecidas en la sentencia SQL.

WHERE ciudad="Barcelona" OR edad=22;

(Estamos consultando todos los registros donde en el campo "ciudad" el valor sea "Barcelona" o el valor del campo "edad" sea "22"). En otras palabras, la consulta nos mostrará registros donde el campo "ciudad" contenga el valor "Barcelona" pero con cualquier edad y también veremos registros cuyo valor del campo "edad" sea "22" pero la ciudad sea cualquiera; sin embargo, obtendremos registros donde ambas condiciones se cumplen.

Cabe aclarar que en ambas condiciones puedes usar el mismo campo, y establecer distintos valores. 

Ejemplo:

WHERE ciudad="Barcelona" OR ciudad="Madrid";

Tal como lo explicamos en el conector "AND", si deseas establecer una tercera condición puedes hacerlo; para ello, debes tener en cuenta de usar el operador "OR" para conectar las condiciones entre sí. Ejemplo:

WHERE ciudad="Barcelona" OR edad=22 OR peso(Kg)=55;

*En la sentencia resaltada con color "azul pastel", vemos que usamos la expresión "IN", la cual explicábamos anteriormente en la sentencia resaltada con "marrón claro"; sin embargo, en esta ocasión podemos observar que existe la posibilidad de definir varios valores, lo que nos permitirá obtener un resultado equivalente si establecemos varias condiciones (usando el mismo campo y el signo igual "=") conectadas por el operador "OR", así como lo vimos en la sentencia inmediatamente anterior.

Ejemplo:

WHERE ciudad IN ("Barcelona", "Madrid", "Sevilla");

(Estamos consultando todos los registros donde en el campo "ciudad" el valor sea "Barcelona", "Madrid" o "Sevilla").

6-En la última línea del lenguaje SQL de este post, y que hemos resaltado con el color "Lila", se emplea la palabra y/o expresión "BETWEEN" (entre), con la cual podremos consultar los registros donde el valor del campo especificado, se encuentre dentro de un rango determinado. Esta palabra clave se aplica principalmente en campos que contengan valores numéricos y de tiempo (fecha y hora):
WHERE edad BETWEEN 12 AND 30;
(Estamos consultando todos los registros donde en el campo "edad" el valor se encuentre dentro del rango de 12 hasta 30).

Como lo podemos notar, debemos hacer uso del conector "AND" para poder establecer el valor inicial y final del rango.

7-Para terminar, si lo que deseas es consultar todos los registros de tu tabla, menos los que cumplan con la condición establecida; sólo debes colocar inmediatamente después del "WHERE", la palabra clave "NOT".

Ejemplo:

WHERE NOT ciudad="Guadalajara";

(Estamos consultando todos los registros donde en el campo "ciudad" el valor no sea "Guadalajara"). 

Debes tener en cuenta que si estás usando los operadores lógicos como "AND" y "OR", deberás encerrar entre paréntesis las condiciones inmediatamente después de que coloques la palabra "NOT".

Ejemplo:

WHERE NOT (ciudad="Monterrey" AND edad=20);

(Estamos consultando todos los registros donde en el campo "ciudad" el valor no sea "Monterrey" y la "edad" no sea "20").

8-Al terminar de escribir nuestra sentencia, debemos cerrarla con punto y coma (;), esto es obligatorio principalmente si usas la consola de comandos que trae MySQL Server y opcional en los editores SQL de entornos gráficos como MySQL Workbench y phpMyAdmin.









9-Ahora sólo basta con ejecutar la sentencia, y obtendremos la información de todos los registros de la tabla que cumplan la condición o condiciones que hayamos establecido luego del WHERE.

¿Quieres aprender más de MySQL?
Si deseas ver cómo consultar registros específicos en tablas MySQL y aprender nuevos temas referentes a las bases de datos de forma netamente gráfica, usando entornos como phpMyAdmin y MySQL Workbench, puedes visitar el Curso de MySQL publicado en el Blog "UH T.I.S".

Accede a todas las sentencias SQL que hemos publicado hasta el momento, dando clic en el siguiente enlace:

Ver listado de Sentencias SQL

Suscríbete a nuestro blog, vía Email o RSS; además puedes seguirnos a través de nuestras redes sociales como: Facebook, Twitter, y Google+.

Si te fue de gran ayuda esta información, no olvides compartirla con tus amigos y en las redes sociales.
Si tienes dudas o sugerencias al respecto; puedes dejarnos tus comentarios.
Bendiciones...





Comparte este código


No hay comentarios.:

Publicar un comentario