Cláusulas Condicionales
Las cláusulas condicionales se utilizan con ayuda de la cláusula WHERE
,
la cual permite seleccionar registros de las tablas en base a criterios específicos.
Pueden afectar a la lectura de datos (SELECT
),
a la actualización (UPDATE
)
y a la eliminación (DELETE
).
SELECT
por coincidencia numérica
Resultado: el producto con ID 24
ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
---|---|---|---|---|---|
24 | Guaraná Fantástica | 10 | 1 | 12 - 355 ml cans | 4.5 |
por texto
Resultado: el único tofu encontrado
ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
---|---|---|---|---|---|
14 | Tofu | 6 | 7 | 40 - 100 g pkgs. | 23.25 |
por rango numérico
Resultado: 77 registros con precio unitario menor a 40ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
---|---|---|---|---|---|
1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18 |
2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19 |
3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10 |
... | |||||
76 | Lakkalikööri | 23 | 1 | 500 ml | 18 |
77 | Original Frankfurter grüne Soße | 12 | 2 | 12 boxes | 13 |
DELETE
UPDATE
Operadores Lógicos
AND
OR
NOT
Combinados con paréntesis
LIMIT
Con la cláusula LIMIT se puede poner tope al numero de resultados:
Ejemplo: cláusulas combinadas
SELECT * FROM Products
WHERE NOT CategoryID = 6
AND NOT SupplierID = 1
AND Price <= 30
ORDER BY RANDOM()
LIMIT 5 ;
DISTINCT
El operador DISTINCT
(!=
) es un operador de comparación.
NO cuenta como operador lógico.
BETWEEN
El operador BETWEEN
facilita elegir campos en un rango de valores.
Este operador es práctico para seleccionar entre fechas
Valores límite
Los valores límite de BETWEEN
están incluidos.
Además estos deben cumplir:
- estar ordenados de menor a mayor;
- ser de tipo compatible (hay que evitar mezcla de criterios).
LIKE
La cláusula LIKE
se porta como un operador igualdad:
Comodin %
Comodin _
-- Apellidos que coinciden con el patrón
SELECT * FROM Employees
-- Empieza con "F", 4 espacios en medio, termina en "R"
WHERE LastName LIKE "F____R" ;
-- Apellidos que coinciden con el patrón
SELECT * FROM Employees
-- 1 espacio al inicio, 1 "U", 4 espacios al final
WHERE LastName LIKE "_U____" ;
Comodines combinados
-- Apellidos que coinciden con el patrón
SELECT * FROM Employees
-- 1 espacio al inicio, 1 "U", al menos 5 letras
WHERE LastName LIKE "_U___%" ;
IS
Con el operador IS
se puede filtrar tanto a los registros con valor nulos como a los no nulos.
IN
El operador IN
sirve para aquellos casos en que se necesita seleccionar muchos valores particulares de un parámetro.
Por ejemplo: valores 3,4,9
Con el operador IN
se reduce a:
Los valores de interés se agrupan por paréntesis y se separan con comas.
IN
es considerado un operador lógico por sustituir la batería de operadores OR
que aglomeraban los condicionales de relación para cada valor.
Los valores buscados pueden ser textos:
Con el operadorNOT
se puede invertir el resultado,
excluyendo los casos elegidos: