Condiciones AND y OR en la cláusula WHERE

Con el objetivo de abarcar todas las posibilidades, veamos a continuación cómo sería el diseño de una consulta donde se combinen al mismo tiempo operadores AND y OR. Concretamente, el objetivo es conocer los encuentros que se juegan el día 12/02/2007 o el 14/02/2007 pero sólo en la Pista 1.
Icono IDevice

Actividad 5

  1. Selecciona la opción Crear consulta en vista SQL y empieza escribiendo: SELECT.
  2. A continuación indica los campos de la tabla que deseas mostrar en la consulta. En este caso utiliza Jornada, Lugar, Fecha, EquipoA y EquipoB.
  3. Escribe FROM, dejando un espacio en blanco entre el elemento anterior y el siguiente.
  4. Ahora indica el nombre de la tabla desde la que obtendrás la información, en este caso Calendario.
  5. Después añade la cláusula WHERE para indicar la primera condición de filtrado.
  6. El criterio sería el siguiente: Fecha = '2007-02-12'
  7. Ahora escribe el operador lógico AND y deja un espacio.
  8. A continuación escribe: Lugar = ‘Pista 1’. De esta forma compones el primer criterio.
  9. Deja un espacio, escribe OR y deja otro espacio.
  10. El criterio siguiente sería: Fecha = '2007-02-14'
  11. Ahora escribe el operador lógico AND y deja un espacio.
  12. A continuación escribe: Lugar = ‘Pista 1’. De esta forma compones el segundo criterio.
  13. Después de estos pasos la sentencia SQL quedaría de la siguiente forma. Revisa con cuidado todo lo escrito y no olvides incluir los paréntesis tal y como puedes ver a continuación:

    SELECT Jornada, Fecha, Lugar, EquipoA, EquipoB FROM Calendario WHERE ((Fecha = '2007-02-12' AND Lugar = 'Pista 1') OR (Fecha = '2007-02-14' AND Lugar = 'Pista 1'))

  14. Comprueba los resultados ejecutando la consulta y observa la figura 6.9.

Figura 6.9

Icono IDevice

Importante

Cuando anidas varios criterios de filtrado es imprescindible utilizar los paréntesis para agrupar cada uno de los bloques que conforman la consulta a partir de la cláusula WHERE.