24 noviembre 2006

SQL: El tremendo SELECT parte 5 - Lo lógico de lo ilógico

Ahora voy a hablar del uso de operadores lógicos. Éstos son 3: el AND (devuelve los registros que cumplan con todos los criterios de selección), el OR (devuelve los registros que cumplan cualquiera de los criterios de selección) y el NOT (niega la expresión que viene después del operador.

Algo que resulta muy útil al crear condiciones del WHERE, y muy en especial cuando estamos trabajando con operadores lógicos (también conocidos como booleanos) es el uso de paréntesis. El uso de estos te permiten:
  • Agrupar expresiones
  • Cambiar el órden en que se evalúan las condiciones
  • Hacer que las expresiones sean más claras, más fáciles de leer y entender
Ejemplos:

SELECT IdProducto,NombreProducto,IdProveedor,PrecioUnitario
FROM Productos
WHERE (NombreProducto LIKE 'T*' OR IdProducto=46) AND (PrecioUnitario > 16.00)


Este busca todos los productos cuyos nombres comienzan con la letra T o tienen un identificador de 46 y que su precio sea mayor a $16.00.

El resultado sería este:

IdProducto, NombreProducto, IdProveedor, PrecioUnitario
14, Tofu, 6, 23.25
29, Tomate, 12, 123.79
62, Tarte au sucre, 29, 49.3


Otro ejemplo:

SELECT IdProducto,NombreProducto,IdProveedor,PrecioUnitario
FROM Productos
WHERE (NombreProducto LIKE 'T*') OR (IdProducto=46 AND PrecioUnitario > 16)


Este devuelve los registros de todos los productos cuyo nombre empieza con T o que su numero de identificación es 46 y su precio es mayor a $16.00.

El resultado sería este:

IdProducto, NombreProducto, IdProveedor, PrecioUnitario
54, Tourtiére, 25, 7.45
62, Tarte au sucre, 29, 49.3
23, Tunnbröd, 9, 9
19, Teatime Chocolate Biscuts, 8, 9.2
14, Tofu, 6, 23.25
29, Tomate, 12, 123.79

Compara las dos consultas anteriores. Fíjate que devuelven diferentes resultados y son procesados de diferente manera porque son agrupados de manera diferente.

¡Hasta la próxima!
Publicar un comentario
Related Posts Plugin for WordPress, Blogger...