5 - Recuperar algunos campos (select)

Hemos aprendido cómo ver todos los registros de una tabla, empleando la instrucción "select".

La sintaxis básica y general es la siguiente:

 select * from NOMBRETABLA;

El asterisco (*) indica que se seleccionan todos los campos de la tabla.

Podemos especificar el nombre de los campos que queremos ver separándolos por comas:

 select titulo, autor from libros; 

La lista de campos luego del "select" selecciona los datos correspondientes a los campos nombrados. En el ejemplo anterior seleccionamos los campos "titulo" y "autor" de la tabla "libros", mostrando todos los registros. Los datos aparecen ordenados según la lista de selección, en dicha lista los nombres de los campos se separan con comas.

Cuando ejecutamos el comando tenemos como resultado:

SQLite Browser select con varios campos

Problema resuelto

Borramos primero la tabla 'empleados' si existe:

drop table if exists empleados;

Mediante las palabras claves 'if exists' permitimos que se borre la tabla si existe, en caso que no existe no se genera error. Si en cambio intentamos ejecutar directamente:

drop table empleados;

Se genera un error en caso que la tabla no exista en nuestra base de datos.

Vamos a crear ahora la tabla 'empleados':

create table empleados (
	nombre text,
	documento integer,
	sexo text,
	domicilio text,
	sueldobasico real
);

Insertamos algunos registros:

insert into empleados (nombre, documento, sexo, domicilio, sueldobasico)
  values ('Juan Perez',22333444,'m','Sarmiento 123',500.25);
insert into empleados (nombre, documento, sexo, domicilio, sueldobasico)
  values ('Ana Acosta','24555666','f','Colon 134',650);
insert into empleados (nombre, documento, sexo, domicilio, sueldobasico)
  values ('Bartolome Barrios','27888999','m','Urquiza 479',800);

Procedemos finalmente a recuperar las columnas nombre y sueldobasico:

select nombre, sueldobasico from empleados;

Tenemos como resultado:

SQLite Browser select con varios campos

Problema propuesto

  1. Cree la tabla peliculas, si ya existe elimínela primero:

     drop table if exists peliculas;
    
     create table peliculas(
    	titulo text,
    	actor text,
    	duracion integer,
    	cantidad integer
     );
    
  2. Insertar 4 filas en la tabla:

    insert into peliculas (titulo, actor, duracion, cantidad)
      values ('Mision imposible','Tom Cruise',180,3);
    insert into peliculas (titulo, actor, duracion, cantidad)
      values ('Mision imposible 2','Tom Cruise',190,2);
    insert into peliculas (titulo, actor, duracion, cantidad)
      values ('Mujer bonita','Julia Roberts',118,3);
    insert into peliculas (titulo, actor, duracion, cantidad)
      values ('Elsa y Fred','China Zorrilla',110,2);  
    
  3. Realice un "select" mostrando solamente el título y actor de todas las películas

  4. Luego cambie el select anterior para mostrar el título y duración de todas las peliculas

Solución
 drop table if exists peliculas;

 create table peliculas(
	titulo text,
	actor text,
	duracion integer,
	cantidad integer
 );
 
insert into peliculas (titulo, actor, duracion, cantidad)
  values ('Mision imposible','Tom Cruise',180,3);
insert into peliculas (titulo, actor, duracion, cantidad)
  values ('Mision imposible 2','Tom Cruise',190,2);
insert into peliculas (titulo, actor, duracion, cantidad)
  values ('Mujer bonita','Julia Roberts',118,3);
insert into peliculas (titulo, actor, duracion, cantidad)
  values ('Elsa y Fred','China Zorrilla',110,2);
  
 select titulo,actor from peliculas;

 select titulo,duracion from peliculas;