En álgebra relacional se representa con sigma $\sigma$

Ejemplos:

# Versión más básica
SELECT*
FROM tabla_diaria
WHERE id = 1;
# Selecciona solo ciertos rows donde el id es igual a 1.

SELECT*
FROM tabla_diaria
WHERE id > 10;
# Selecciona solo ciertos rows donde el id es mayor a 10.

SELECT*
FROM tabla_diaria
WHERE cantidad < 100;
# Selecciona solo ciertos rows donde el id es menor a 100.

SELECT*
FROM tabla_diaria
WHERE cantidad > 10;
	AND cantidad < 100; # AND par agregar otra cláusula

SELECT*
FROM tabla_diaria
WHERE cantidad BETWEEN 10
	AND 100; # Lo mismo que la anterior utilizando la sentencia BETWEEN
SELECT*
FROM user
WHERE name = "Rubén"
	AND(
		lastname = "Hernández"
		OR
		lastname = "Guevara"
	);
# Trae a todos los Rubén que se appeliden Hernández O Guevara

SELECT*
FROM user
WHERE name = "Rubén"
	AND lastname = "Hernández"
	OR lastname = "Guevara";

# Trae todos los Rubén Hernándes y todos las personas que se apelliden Guevara

Estos últimos parecen similares, pero traen dos subsets muy distintos. La diferencia clave es la AGRUPACIÓN con AND().

SELECT *
FROM users
WHERE name LIKE "Is%";
# Donde inicie específicamente con Is
# el % indica que después del Is puede haber cualquier letra

SELECT *
FROM users
WHERE name LIKE "Is_ael";
# Trae todos los que digan Is _Cualquier Letra_ ael

SELECT *
FROM users
WHERE name NOT LIKE "Is_ael";
# Trae las que no tengan este patrón, lo contrario al anterior.

Hay algunos casos especiales para strings, se utiliza un operador llamado LIKE. Es similar al IGUAL, pero significa PARECIDO. Se utiliza cuando no se quiere buscar una cadena en específico.

SELECT *
FROM users
WHERE name IS NULL;
# Datos NULOS, no son cadenas vacías o 0s, no existe el dato.

SELECT *
FROM users
WHERE name IS NOT NULL;
# Caso contrario, datos que no estén vacíos

SELECT *
FROM users
WHERE name IN ('Israel','Laura',
'Luis');
# Cuando se quiere traer estos nombres dentro de name