sql >> Base de Datos >  >> RDS >> SQLite

SQLite donde

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:

  1. Primero, revisa la tabla en el FROM cláusula.
  2. Segundo, evalúe las condiciones en el WHERE cláusula para obtener las filas que cumplieron con estas condiciones.
  3. 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_expressionCode 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.