Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Cláusula WHERE
La WHERE cláusula contiene condiciones que unen tablas o aplican predicados a las columnas de las tablas. Las tablas se pueden unir internamente utilizando la sintaxis adecuada en la cláusula o en la WHERE cláusula. FROM Los criterios de unión externa deben especificarse en la cláusula. FROM
Sintaxis
[ WHERE condition ]
condition
Cualquier condición de búsqueda con un resultado booleano, como una condición de combinación o un predicado en una columna de la tabla. Los siguientes ejemplos son condiciones de combinación válidas:
sales.listid=listing.listid sales.listid<>listing.listid
Los siguientes ejemplos son condiciones válidas de columnas en tablas:
catgroup like 'S%' venueseats between 20000 and 50000 eventname in('Jersey Boys','Spamalot') year=2008 length(catdesc)>25 date_part(month, caldate)=6
Las condiciones pueden ser simples o complejas. Para las condiciones complejas, puede utilizar paréntesis para aislar las unidades lógicas. En el siguiente ejemplo, la condición de combinación está entre paréntesis.
where (category.catid=event.catid) and category.catid in(6,7,8)
Notas de uso
Puede utilizar alias en la WHERE cláusula para hacer referencia a determinadas expresiones de la lista.
No puede restringir los resultados de las funciones agregadas en la WHERE cláusula; utilice la HAVING cláusula para este fin.
Las columnas restringidas en la WHERE cláusula deben derivarse de las referencias a las tablas de la FROM cláusula.
Ejemplo
La siguiente consulta utiliza una combinación de diferentes restricciones de WHERE cláusula, incluida una condición de unión para las EVENT tablas SALES y, un predicado en la EVENTNAME columna y dos predicados en la STARTTIME columna.
select eventname, starttime, pricepaid/qtysold as costperticket, qtysold from sales, event where sales.eventid = event.eventid and eventname='Hannah Montana' and date_part(quarter, starttime) in(1,2) and date_part(year, starttime) = 2008 order by 3 desc, 4, 2, 1 limit 10; eventname | starttime | costperticket | qtysold ----------------+---------------------+-------------------+--------- Hannah Montana | 2008-06-07 14:00:00 | 1706.00000000 | 2 Hannah Montana | 2008-05-01 19:00:00 | 1658.00000000 | 2 Hannah Montana | 2008-06-07 14:00:00 | 1479.00000000 | 1 Hannah Montana | 2008-06-07 14:00:00 | 1479.00000000 | 3 Hannah Montana | 2008-06-07 14:00:00 | 1163.00000000 | 1 Hannah Montana | 2008-06-07 14:00:00 | 1163.00000000 | 2 Hannah Montana | 2008-06-07 14:00:00 | 1163.00000000 | 4 Hannah Montana | 2008-05-01 19:00:00 | 497.00000000 | 1 Hannah Montana | 2008-05-01 19:00:00 | 497.00000000 | 2 Hannah Montana | 2008-05-01 19:00:00 | 497.00000000 | 4 (10 rows)