Resumen :en este tutorial, aprenderá a usar SQLite WHERE
cláusula para especificar la condición de búsqueda para las filas devueltas por la consulta.
Introducción a SQLite WHERE
cláusula
El WHERE
cláusula es una cláusula opcional de SELECT
declaración. Aparece después del FROM
cláusula como la siguiente declaración:
SELECT
column_list
FROM
table
WHERE
search_condition;
Code language: SQL (Structured Query Language) (sql)
En este ejemplo, agrega un WHERE
cláusula al SELECT
instrucción para filtrar filas devueltas por la consulta. Al evaluar un SELECT
declaración con un WHERE
cláusula, SQLite utiliza los siguientes pasos:
- Primero, revisa la tabla en el
FROM
cláusula. - Segundo, evalúe las condiciones en el
WHERE
cláusula para obtener las filas que cumplieron con estas condiciones. - Tercero, haga el conjunto de resultados final basado en las filas del paso anterior con columnas en
SELECT
cláusula.
La condición de búsqueda en WHERE
tiene la siguiente forma:
left_expression COMPARISON_OPERATOR right_expression
Code language: SQL (Structured Query Language) (sql)
Por ejemplo, puede formar una condición de búsqueda de la siguiente manera:
WHERE column_1 = 100;
WHERE column_2 IN (1,2,3);
WHERE column_3 LIKE 'An%';
WHERE column_4 BETWEEN 10 AND 20;
Code language: SQL (Structured Query Language) (sql)
Además del SELECT
instrucción, puede usar WHERE
cláusula en UPDATE
y DELETE
declaraciones.
Operadores de comparación de SQLite
Un operador de comparación prueba si dos expresiones son iguales. La siguiente tabla ilustra los operadores de comparación que puede usar para construir expresiones:
Operador | Significado |
---|---|
= | Igual a |
<> o != | No es igual a |
< | Menos de |
> | Mayor que |
<= | Menor o igual que |
>= | Mayor o igual que |
Operadores lógicos SQLite
Los operadores lógicos le permiten probar la verdad de algunas expresiones. Un operador lógico devuelve 1, 0 o un valor NULL.
Tenga en cuenta que SQLite no proporciona un tipo de datos booleano, por lo que 1 significa VERDADERO y 0 significa FALSO.
La siguiente tabla ilustra los operadores lógicos de SQLite:
Operador | Significado |
---|---|
TODO | devuelve 1 si todas las expresiones son 1. |
Y | devuelve 1 si ambas expresiones son 1 y 0 si una de las expresiones es 0. |
CUALQUIERA | devuelve 1 si cualquiera de un conjunto de comparaciones es 1. |
ENTRE | devuelve 1 si un valor está dentro de un rango. |
EXISTE | devuelve 1 si una subconsulta contiene filas. |
EN | devuelve 1 si un valor está en una lista de valores. |
ME GUSTA | devuelve 1 si un valor coincide con un patrón |
NO | invierte el valor de otros operadores como NO EXISTE, NO EN, NO ENTRE, etc. |
O | devuelve verdadero si cualquiera de las expresiones es 1 |
SQLite WHERE
ejemplos de cláusulas
Usaremos las tracks
tabla en la base de datos de muestra para ilustrar cómo usar el WHERE
cláusula.

El operador de igualdad (=
) es el operador más utilizado. Por ejemplo, la siguiente consulta usa WHERE
clausula el operador de igualdad para encontrar todas las pistas en el álbum id 1:
SELECT
name,
milliseconds,
bytes,
albumid
FROM
tracks
WHERE
albumid = 1;
Code language: SQL (Structured Query Language) (sql)
Pruébalo

SQLite compara los valores almacenados en el AlbumId
columna con un valor literal 1
para probar si son iguales. Solo se devuelven las filas que cumplen la condición.
Cuando compara dos valores, debe asegurarse de que sean del mismo tipo de datos. Debes comparar números con números, cadenas con cadenas, etc.
En caso de que compare valores en diferentes tipos de datos, por ejemplo, una cadena con un número, SQLite tiene que realizar conversiones implícitas de tipos de datos, pero en general, debe evitar hacer esto.
Utiliza el operador lógico para combinar expresiones. Por ejemplo, para obtener pistas del álbum 1 que tengan una duración superior a 200 000 milisegundos, use la siguiente instrucción:
SELECT
name,
milliseconds,
bytes,
albumid
FROM
tracks
WHERE
albumid = 1
AND milliseconds > 250000;
Code language: SQL (Structured Query Language) (sql)
Pruébalo

La declaración usó dos expresiones albumid = 1
y milliseconds > 250000
. Utiliza el AND
operador lógico para combinar estas expresiones.

SQLite WHERE
cláusula con LIKE
ejemplo de operador
A veces, es posible que no recuerde exactamente los datos que desea buscar. En este caso, realiza una búsqueda inexacta utilizando el LIKE
operador.
Por ejemplo, para encontrar qué pistas compuso Smith, usa el LIKE
operador de la siguiente manera:
SELECT
name,
albumid,
composer
FROM
tracks
WHERE
composer LIKE '%Smith%'
ORDER BY
albumid;
Code language: SQL (Structured Query Language) (sql)
Pruébalo

Obtienes temas compuestos por R.A. Smith-Diesel, Adrian Smith, etc.
SQLite WHERE
cláusula con IN
ejemplo de operador
El IN
El operador le permite verificar si un valor está en una lista de una lista de valores separados por comas. Por ejemplo, para encontrar pistas que tienen una identificación de tipo de medio 2 o 3, use el IN
operador como se muestra en la siguiente instrucción:
SELECT
name,
albumid,
mediatypeid
FROM
tracks
WHERE
mediatypeid IN (2, 3);
Code language: SQL (Structured Query Language) (sql)
Pruébalo

En este tutorial, ha aprendido a usar SQLite WHERE
cláusula para filtrar filas en el conjunto de resultados final utilizando operadores lógicos y de comparación.