Mis hijos aprenden SQL y Oracle (3)

Vamos a aprender ahora cómo mostrar los registros que cumplen cierta condición de entre todos los registros de una tabla. Se hace uso de la cláusula where. Algunos ejemplos serían:
  select * from juguetes where año=2001;
  select marca,nombre from juguetes where color='Azul';

En la primera consulta recuperamos todos los datos de aquellos juguetes comprados en el año 2001. En la segunda mostramos únicamente la marca y nombre de todos los juguetes de color azul.

Es posible incluir simultáneamente varias condiciones, sin más que separarlas con la palabra and. Por ejemplo todos los juguetes blancos del año 2002:
  select * from juguetes where color='Blanco' and año=2002;

Hemos hecho todas las comprobaciones usando el operador igual (=) para obtener los registros que cumplían que eran de idéntico valor al que queríamos, pero también se pueden usar otros operadores relacionales para indicar valor distinto a (<>), mayor (>), menor (<), mayor o igual (>=) o menor o igual (<=). Como siempre con ejemplos se entiende todo mejor:
  select * from juguetes where color='Rojo' and año>2002;
  select * from juguetes where color<>'Azul' and año<=2005;
En la primera consulta recuperamos los juguetes rojos comprados a partir del 2003 (mayor que 2002). En la segunda obtenemos los que no son de color azul adquiridos hasta el 2005 (incluído).

Mis nenes "se están quejando": ¡hay registros insertados en la tabla que no se corresponden con la realidad, queremos borrarlos para dejarlo todo bien!. ¿Cómo se hace?. Con el comando delete (o truncate table).  La diferencia entre delete y truncate es que esta última libera todo el espacio en disco, y ya no es posible "recuperar" dichos registros borrados aunque quisiéramos. Con delete sí se podría pero eso lo veremos más adelante. Este comando debéis entender que es delicado, ya que podéis eliminar información que no queríais borrar, así que si deseáis borrar todos los registros de la tabla basta con hacer:
  delete from juguetes;
  ó
  truncate table juguetes;

Pero en la mayoría de las ocasiones vais a querer borrar solo un registro o un conjunto de registros que cumplan cierta condición. Pues eso, que ya os imagináis como sería ¿verdad?. Ejemplos:
  delete from juguetes where año=2001;  
  delete from juguetes where color='Rojo';
En la primera sentencia se borran los juguetes del año 2001. En la segunda se hace lo propio con todos los juguetes rojos.

Ahí les dejo haciendo sus experimentos y pruebas con la tabla, insertando registros, borrando algunos, etc. ¡A ver si dejan su base de datos al día, y aprovechamos sus padres para convencerles de depositar los más antiguos en uno de los contenedores de Madre Coraje!. Se hace una buena acción con otros niños...¡y sus dormitorios vuelven a parecer dormitorios, jajajaja!. Hasta la próxima.

No hay comentarios :

Publicar un comentario

Buscar en el Blog: