¿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.
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_number full_names gender date_of_birth physical_address postal_address contct_number 1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 This 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_id title director year_released category_id 2 Forgetting Sarah Marshal Nicholas Stoller 2008 2
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_id title director year_released category_id 1 Pirates of the Caribean 4 Rob Marshall 2011 1 2 Forgetting Sarah Marshal Nicholas Stoller 2008 2
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_number full_names gender date_of_birth physical_address postal_address contct_number 1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it. 2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it. 3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 This 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_number full_names gender date_of_birth physical_address postal_address contct_number 4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
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_number full_names gender date_of_birth physical_address postal_address contct_number 1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it. 2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it. 4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
> 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_id membership_number payment_date description amount_paid external_reference_number 1 1 23-07-2012 Movie rental payment 2500 11 3 3 30-07-2012 Movie rental payment 6000 NULL
<> 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_id title director year_released category_id 2 Forgetting Sarah Marshal Nicholas Stoller 2008 2 5 Daddy's Little Girls NULL 2007 8 6 Angels and Demons NULL 2007 6 7 Davinci Code NULL 2007 6 9 Honey mooners John Schultz 2005 8
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_number transaction_date return_date membership_number movie_id movie_returned 14 21-06-2012 24-06-2012 2 2 0