--- title: "Cláusula WHERE" url: https://docs.catalyst.zoho.com/es/cloud-scale/help/zcql/where/ description: "ZCQL es el lenguaje de consulta propio de Catalyst, inspirado en lenguajes de consulta conocidos, que puedes utilizar para consultar la base de datos de tu aplicación de manera eficiente." last_updated: 2026-03-20T16:21:56Z service: Cloud Scale type: general --- # Cláusula WHERE ### Introducción La cláusula `WHERE` se utiliza para filtrar los registros de datos en función de una condición especificada o un conjunto de condiciones en las consultas de búsqueda. Cuando se usa la condición WHERE en una consulta, los registros de datos se verifican según las condiciones especificadas y los comandos se ejecutan solo en los registros que satisfacen las condiciones. Por ejemplo, la sintaxis para usar la condición `WHERE` en una sentencia `SELECT` es: ```sql SELECT column_name(s) FROM base_table_name WHERE condition ``` La condición `WHERE` también se puede usar con las sentencias `UPDATE` y `DELETE`. ### Operadores soportados por la cláusula WHERE Puedes usar los siguientes operadores en las condiciones `WHERE` en consultas ZCQL:
Operadores Descripción
= Igual a
IS TRUE si el operando es igual al valor
IS NULL TRUE si el operando es un valor nulo
IS NOT NULL TRUE si el operando no es un valor nulo
!= No igual a
LIKE TRUE si el operando coincide con un patrón
NOT LIKE TRUE si el operando no coincide con un patrón
BETWEEN TRUE si el valor del operando está entre los valores de inicio y fin
IN TRUE si el operando es igual a una lista de expresiones
NOT IN TRUE si el operando no es igual a una lista de expresiones
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
**Ejemplo**: Para ver una lista de las películas que se proyectan en días distintos al 13 de julio de 2018 de la tabla Movies, puedes especificar la condición de fecha en la consulta usando la cláusula `WHERE` de la siguiente manera: ```sql SELECT MovieName, ShowDate FROM Movies WHERE ShowDate IS '2018-07-14' ``` Esto generará la siguiente salida:
MovieName ShowDate
Hotel Transylvania 3: Summer Vacation 2018-07-14
Skyscraper 2018-07-14
### Múltiples condiciones WHERE Puedes especificar un máximo de cinco condiciones WHERE en una sola consulta. Cuando se especifican múltiples condiciones `WHERE`, puedes usar un operador `AND` o `OR` para vincular las condiciones entre sí. Las funcionalidades de los operadores `AND` y `OR` son: * `AND`: Produce solo los registros de datos que satisfacen ambas condiciones asociadas con el operador `AND`. * `OR`: Produce los registros de datos que satisfacen cualquiera de las condiciones asociadas con el operador `OR`. Por ejemplo, la sintaxis para usar múltiples condiciones `WHERE` en una sentencia `SELECT` es: ```sql SELECT column_name(s) FROM base_table_name WHERE condition_1 AND|OR condition_2.. AND|OR condition_5 ``` **Ejemplo**: Para ver una lista de las fechas y horarios de proyección de la tabla _Movies_ para las películas 'The First Purge' o 'Skyscraper' que se proyectan el 14 de julio, ejecuta la siguiente consulta: ```sql SELECT MovieName, ShowDate, ShowTime FROM Movies WHERE MovieName='The First Purge' OR MovieName='Skyscraper' AND ShowDate='2018-07-14' ``` Solo hay un registro que coincide con las condiciones anteriores. Por lo tanto, la consulta generará el siguiente resultado:
MovieName ShowDate ShowTime
Skyscraper 2018-07-14 21:30:00
### Sentencia LIKE La condición `LIKE` te permite indicar registros que contienen un criterio específico y seleccionar todos los registros que coincidan con esa condición. Por ejemplo, puedes indicar un alfabeto específico con el que deben comenzar los registros que necesitas obtener, o un valor particular que deben contener. Por ejemplo, la sintaxis de la condición `LIKE` en una sentencia `UPDATE` es la siguiente: ```sql UPDATE base_table_name SET column_name(s)=value(s) WHERE condition LIKE *value* ``` El '\*' se puede usar antes o después, o tanto antes como después, del valor que especifiques. El '\*' es esencialmente un marcador de posición que indica que cualquier valor puede reemplazarse en su lugar. Por ejemplo, para indicar que se deben obtener todos los registros de una tabla que comienzan con la letra 'A', puedes ingresar el valor de `LIKE` como 'A\*'. Esto especifica que después de la letra A, cualquier valor puede seguir. **Ejemplo:** Para actualizar los registros donde los nombres de películas comienzan con la letra 'S' en la tabla _Movies_, ejecuta la siguiente consulta: ```sql UPDATE Movies SET ShowDate='2018-07-17' WHERE MovieName like 'S*' ``` Esto actualizará el siguiente registro y establecerá el valor:
MovieID MovieName ShowDate ShowTime TheaterID
2059 Skyscraper 2018-07-17 21:30:00 053
También se permite el uso de sintaxis de comodines y símbolos como **\*** y **?** en las sentencias ZCQL definidas usando la sentencia de condición `LIKE`.
Sintaxis de comodín Definición
`\*` Coincide con cero o más caracteres
`?` Coincide con exactamente un carácter
### Sentencia BETWEEN La condición `BETWEEN` te permite filtrar registros indicando los valores de inicio y fin en una columna particular que contiene valores numéricos. Por ejemplo, puedes seleccionar todos los registros donde los valores de porcentaje estén entre 70 y 80. Por ejemplo, la sintaxis de una condición `BETWEEN` en una sentencia `DELETE` es la siguiente: ```sql DELETE FROM base_table_name WHERE condition BETWEEN Value1 AND Value2 ``` > **Nota:** Solo puedes usar la sentencia `BETWEEN` para seleccionar valores 'Int' o 'Double' en la tabla del Data Store de Catalyst. No podrás usarla para ningún otro tipo de dato. **Ejemplo:** Para eliminar los registros donde el valor de MovieID está entre 2056 y 2059 en la tabla _Movies_, ejecuta la siguiente consulta: ```sql DELETE FROM Movies WHERE MovieID BETWEEN 2056 AND 2059 ``` Los siguientes registros de la tabla se eliminarán:
MovieID MovieName ShowDate ShowTime TheaterID
2057 Ant-Man and the Wasp 2018-07-13 14:20:00 052
2058 Hotel Transylvania 3: Summer Vacation 2018-07-14 17:00:00 052
> **Nota:** Para producir el resultado exactamente opuesto, puedes usar la sentencia `NOT BETWEEN`. La misma sintaxis y condiciones de una sentencia `BETWEEN` se aplican a las sentencias `NOT BETWEEN`. ### Comparación de columna a columna Puedes comparar dos columnas de la misma tabla o de tablas diferentes **haciendo referencia a los nombres de las columnas con sus respectivos nombres de tabla** en el lado izquierdo y derecho de la comparación. El resultado de la comparación devolverá las filas que contengan el mismo valor para column1 y column2 en la tabla. Esta compatibilidad de comparación en la cláusula `WHERE` es aplicable a las consultas `SELECT`, `UPDATE` y `DELETE`. Puedes comparar dos columnas cualesquiera que sean de los siguientes tipos de datos: `BOOLEAN`, `DOUBLE`, `DATE`, `DATETIME`, `ENCRYPTED`, `VARCHAR`, `TEXT`, `INT` y `BIGINT`. > **Nota:** No puedes comparar columnas de dos tipos de datos diferentes. **SELECT:** La sintaxis general para la comparación de columnas dentro de la misma tabla es la siguiente: ```sql SELECT * FROM tablename WHERE columnname1 = tablename.columnname2 ``` **Ejemplo**: ```sql Select MovieName FROM Movies WHERE Actor = Movies.Producer ```
MovieName
The White River Kid
Duplex
Oppenheimer
**UPDATE:** ```sql UPDATE Movies SET self_produced = "Yes" WHERE Actor = Movies.Producer ``` **DELETE:** ```sql DELETE FROM Movies WHERE Actor = Movies.Producer ``` #### Comparación de columnas en tablas diferentes También puedes comparar columnas de dos tablas diferentes como se muestra en la siguiente sintaxis: ```sql SELECT tablename1.columnname1, tablename2.columnname1 FROM tablename2 LEFT JOIN tablename1 ON tablename2.columnname1 = tablename1.columnname2 WHERE tablename1.columnname1 = tablename2.columnname2 ``` **Ejemplo**: ```sql SELECT Movies.name, Theatres.city from Theatres left join Movies on Theatres.ROWID = Movies.theatreID where Movies.distributionCity = theatre.city ```
Name CIty
Dark Knight Rises Los Angeles
Titanic New York
De manera similar, puedes comparar columnas pertenecientes a dos tablas diferentes al ejecutar las consultas `UPDATE` y `DELETE`. ### Subconsultas en la cláusula WHERE Una subconsulta es una consulta que se escribe dentro de otra sentencia de consulta. Catalyst te permite ejecutar subconsultas simples individuales con la cláusula `WHERE`. Puedes escribir subconsultas con la cláusula `WHERE` en las consultas `SELECT`, `UPDATE` y `DELETE`. La sintaxis de una subconsulta con la cláusula `WHERE` se muestra a continuación: ```sql SELECT column_name FROM table_name WHERE column_name operator (SELECT column_name FROM table_name) ``` **Base de datos de ejemplo** Los detalles de empleados de Zylker Technologies se mantienen en el [Data Store](https://docs.catalyst.zoho.com/es/cloud-scale/help/data-store/introduction/) en la tabla *Zylker_Employee_DB*. La tabla contiene las siguientes columnas y filas:
ID Name Department Salary
ZT-001 Amelia Burrows Product Management 15000
ZT-2001 Bruce Wayne Sr. Management 85000
ZT-239 Clark Kane Media Relations 85000
ZT-4289 Michelle Mascarenhas Finance 89000
A continuación se muestra un ejemplo de sentencia de subconsulta para listar los salarios y los nombres de los empleados que ganan más que el empleado con el salario mínimo: ```sql SELECT Name, Salary FROM Zylker_Employee_DB WHERE Salary > (SELECT MIN (Salary) FROM Zylker_Employee_DB) ```
Zylker_Employee_DB.Salary Zylker_Employee_DB.Name
15000 Amelia Burrows
85000 Bruce Wayne
89000 Michelle Mascarenhas
> **Nota:** * Esta funcionalidad solo está disponible en **ZCQL V2**. * A partir del **1 de diciembre de 2024**, todos tus proyectos actuales en todas tus [organizaciones](https://docs.catalyst.zoho.com/es/getting-started/catalyst-organizations/) presentes en el [entorno de desarrollo](https://docs.catalyst.zoho.com/es/deployment-and-billing/environments/development-environment/) se mapearán automáticamente al **ZCQL V2 Parser**. * A partir del **1 de abril de 2025**, todos los proyectos presentes en todas las *organizaciones* que ya hayan sido mapeados al **ZCQL V2 Parser** en el *entorno de desarrollo* se mapearán automáticamente al **ZCQL V2 Parser** en el [entorno de producción](https://docs.catalyst.zoho.com/es/deployment-and-billing/environments/production-environment/), si y cuando se habilite producción para el proyecto.