Saltar al contenido

Y, O, EN, NO EN Consulta Muestra

¿Qué es la cláusula PLACE en MySQL?

Dónde cláusula MySQL es una palabra clave que se utiliza para especificar criterios o secuencias de datos precisos que se verán afectados por la declaración SQL especificada. CONSIDERANDO que la cláusula se puede utilizar con sentencias SQL como INSERT, UPDATE, SELECT y DELETE para filtrar registros y realizar diversas operaciones en los datos.

Analizamos cómo consultar datos de un base de datos usando la instrucción SELECT en el tutorial anterior. La instrucción SELECT devolvió todos los resultados de la tabla de la base de datos consultada.

Sin embargo, hay ocasiones en las que necesitamos restringir los resultados de la consulta a una condición específica. La cláusula PLACE en SQL es útil en tales casos.

Cláusula WHERE en MySQL

WHERE cláusula de sintaxis

La siguiente es la sintaxis básica para la cláusula de instrucción WHERE WHERE cuando se usa en una instrucción SELECT WHERE de MySQL.

SELECT * FROM tableName WHERE condition;

AQUÍ

  • «SELECT * From Table Name» la declaración estándar SELECT
  • «LUGAR» Es la palabra clave que restringe los resultados de nuestro conjunto de consultas seleccionado y «condición» el filtro que se aplicará a los resultados. El filtro puede contener un rango, un valor único o una subconsulta.

Veamos ahora un ejemplo practico.

Supongamos que queremos obtener los datos personales de un miembro de la tabla de miembros a la luz del número de miembro 1, usaríamos el siguiente script para lograrlo.

SELECT * FROM `members` WHERE `membership_number` = 1;

Los siguientes resultados ejecutarían el script anterior en un banco de trabajo MySQL en «myflixdb».

membership_numberfull_namesgenderdate_of_birthphysical_addresspostal_addresscontct_numberemail
1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 542This email address is being protected from spambots. You need JavaScript enabled to view it.

DONDE cláusula acompañada de – Y Operador LÓGICO

La condición PLACE en MySQL cuando se usa junto con el operador lógico AND, solo se ejecuta si se cumplen TODOS los criterios de filtro especificados.

Veamos ahora un ejemplo práctico: supongamos que queremos una lista de todas las películas de categoría 2 lanzadas en 2008, usaríamos el guión que se muestra a continuación para lograrlo.

SELECT * FROM `movies` WHERE `category_id` = 2 AND `year_released` = 2008;

Los siguientes resultados son el resultado de ejecutar el script anterior en un banco de trabajo MySQL contra «myflixdb».

movie_idtitledirectoryear_releasedcategory_id
2Forgetting Sarah MarshalNicholas Stoller20082

DONDE cláusula acompañada de – O Operador LÓGICO

La cláusula PLACE cuando se usa junto con el operador OR, solo se ejecuta si se cumple alguno o todos los criterios de filtro especificados.

El siguiente guión busca todas las películas de la categoría 1 o la categoría 2

SELECT * FROM `movies` WHERE `category_id` = 1 OR `category_id` = 2;

Los siguientes resultados son el resultado de ejecutar el script anterior en un banco de trabajo MySQL contra «myflixdb».

movie_idtitledirectoryear_releasedcategory_id
1Pirates of the Caribean 4Rob Marshall20111
2Forgetting Sarah MarshalNicholas Stoller20082

DONDE cláusula acompañada de – EN Palabra clave

La cláusula PLACE en MySQL, cuando se usa junto con la palabra clave IN, solo afecta a las filas cuyos valores coinciden con la lista de valores proporcionada en la palabra clave IN. La declaración MySQL IN ayuda a reducir la cantidad de cláusulas OR que pueda necesitar.

La siguiente consulta le da a MySQL DONDE me refiero a capas que contienen membresía número 1, 2 o 3

SELECT * FROM `members` WHERE `membership_number` IN (1,2,3);

Los siguientes resultados son el resultado de ejecutar el script anterior en un banco de trabajo MySQL contra «myflixdb».

membership_numberfull_namesgenderdate_of_birthphysical_addresspostal_addresscontct_numberemail
1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 542This email address is being protected from spambots. You need JavaScript enabled to view it.
2Janet Smith JonesFemale23-06-1980Melrose 123NULLNULLThis email address is being protected from spambots. You need JavaScript enabled to view it.
3Robert PhilMale12-07-19893rd Street 34NULL12345This email address is being protected from spambots. You need JavaScript enabled to view it.

DONDE cláusula acompañada de – NO EN Palabra clave

La cláusula PLACE cuando se usa junto con la palabra clave NOT IN NO afecta las filas cuyos valores coinciden con la lista de valores proporcionada en la palabra clave NOT IN.

La siguiente consulta da filas donde número_de_membresía NO es 1, 2 o 3

SELECT * FROM `members` WHERE `membership_number` NOT IN (1,2,3);

Los siguientes resultados son el resultado de ejecutar el script anterior en un banco de trabajo MySQL contra «myflixdb».

membership_numberfull_namesgenderdate_of_birthphysical_addresspostal_addresscontct_numberemail
4Gloria WilliamsFemale14-02-19842nd Street 23NULLNULLNULL

DONDE cláusula acompañada de – Operadores de comparación

Los operadores de comparación menor que (), igual a (=), no igual a () se pueden usar con la cláusula PLACE

= Igual a

La siguiente secuencia de comandos recupera todos los miembros femeninos de la tabla de miembros utilizando el operador de igualdad para la comparación.

SELECT * FROM `members` WHERE `gender` = 'Female';

Los siguientes resultados son el resultado de ejecutar el script anterior en un banco de trabajo MySQL contra «myflixdb».

membership_numberfull_namesgenderdate_of_birthphysical_addresspostal_addresscontct_numberemail
1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 542This email address is being protected from spambots. You need JavaScript enabled to view it.
2Janet Smith JonesFemale23-06-1980Melrose 123NULLNULLThis email address is being protected from spambots. You need JavaScript enabled to view it.
4Gloria WilliamsFemale14-02-19842nd Street 23NULLNULLNULL

> Mejor que

La siguiente secuencia de comandos recupera todos los pagos superiores a 2000 de la tabla de pagos.

SELECCIONAR * De `pagos` LUGAR` tamaño_pagado`> 2000;

Los siguientes resultados son el resultado de ejecutar el script anterior en un banco de trabajo MySQL contra «myflixdb».

payment_idmembership_numberpayment_datedescriptionamount_paidexternal_reference_number
1123-07-2012Movie rental payment250011
3330-07-2012Movie rental payment6000NULL

<> No equivalente a

El siguiente guión encuentra todas las películas que no tienen su categoría de id 1.

SELECT * FROM `movies` WHERE `category_id`<> 1;

Los siguientes resultados son el resultado de ejecutar el script anterior en un banco de trabajo MySQL contra «myflixdb».

movie_idtitledirectoryear_releasedcategory_id
2Forgetting Sarah MarshalNicholas Stoller20082
5Daddy's Little GirlsNULL20078
6Angels and DemonsNULL20076
7Davinci CodeNULL20076
9Honey moonersJohn Schultz20058

Resumen

  • La cláusula SQL PLACE se utiliza para restringir el número de filas afectadas por una consulta SELECT, UPDATE o DELETE.
  • DONDE la condición en SQL se puede usar junto con operadores lógicos como AND y OR, operadores de comparación como, = etc.
  • Cuando se utiliza con el operador lógico AND, se deben cumplir todos los criterios.
  • Cuando se utiliza con el operador lógico OR, se debe cumplir cualquiera de los criterios.
  • La palabra clave IN se utiliza para seleccionar filas que coinciden con una lista de valores.

Rompecabezas

Creemos que queremos alquilar una lista de películas que no se devolvieron a tiempo el 25/06/2012. Podemos usar una cláusula de declaración SQL PLACE junto con el operador de comparación menor que y el operador lógico AND para lograrlo.

SELECT * FROM `movierentals` WHERE `return_date` < '2012-06-25' AND movie_returned = 0;

La ejecución del script anterior en un banco de trabajo MySQL da los siguientes resultados.

reference_numbertransaction_datereturn_datemembership_numbermovie_idmovie_returned
1421-06-201224-06-2012220

Entradas relacionadas

Deja una respuesta

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