sábado, 7 de abril de 2012

8 - Operadores Relacionales

Hemos aprendido a especificar condiciones de igualdad para seleccionar registros de una tabla; por ejemplo:

select titulo,autor,editorial from libros where autor='Borges';
 
Utilizamos el operador relacional de igualdad.

Los operadores relacionales vinculan un campo con un valor para que MySQL compare cada registro (el campo especificado) con el valor dado.

Los operadores relacionales son los siguientes:

= igual
<> distinto
> mayor
< menor
>= mayor o igual
<= menor o igual
 
Podemos seleccionar los registros cuyo autor sea diferente de 'Borges', para ello usamos la condición:

select titulo,autor,editorial from libros where autor<>'Borges';
 
Podemos comparar valores numéricos. Por ejemplo, queremos mostrar los libros cuyos precios sean mayores a 20 pesos:

select titulo,autor,editorial,precio from libros where precio>20;
 
También, los libros cuyo precio sea menor o igual a 30:

select titulo,autor,editorial,precio from libros where precio<=30;
 
 
Problema Resuelto: 
 
Borramos la tabla libros si existe

drop table if exists libros;

La creamos con la siguiente estructura:

create table libros( titulo varchar(20), autor varchar(30), editorial varchar(15), precio float );

Por primera vez definimos un campo de tipo float.

Agregamos registros a la tabla:

insert into libros (titulo,autor,editorial,precio) values ('El aleph','Borges','Planeta',12.50);
insert into libros (titulo,autor,editorial,precio) values ('Martin Fierro','Jose Hernandez','Emece',16.00);
insert into libros (titulo,autor,editorial,precio) values ('Aprenda PHP','Mario Molina','Emece',35.40);
insert into libros (titulo,autor,editorial,precio) values ('Cervantes','Borges','Paidos',50.90);

Note que al ingresar valores numéricos (en este caso float) no se utilizan comillas y para el separador de decimales se usa el punto(.).

Seleccionamos todos los registros:

select titulo, autor,editorial,precio from libros;

Seleccionamos los registros cuyo autor sea diferente de 'Borges':

select titulo,autor,editorial,precio from libros where autor<>'Borges';

Seleccionamos los registros cuyo precio supere los 20 pesos:

select titulo,autor,editorial,precio from libros where precio>20;

Seleccionamos los libros cuyo precio es menor o igual a 30:

select titulo,autor,editorial,precio from libros where precio<=30;

Note que al comparar valores numéricos (en este caso de tipo float) no se utilizan comillas.


Problema Propuesto:

Un comercio que vende artículos de computación registra los datos de sus artículos
en una tabla con ese nombre.

1- Elimine "articulos", si existe:
 
2- Cree la tabla, con la siguiente estructura:
 create table articulos(
  codigo integer,
  nombre varchar(20),
  descripcion varchar(30),
  precio float,
  cantidad integer
 );

3- Vea la estructura de la tabla.

4- Ingrese algunos registros:
 (codigo, nombre, descripcion, precio,cantidad)
  1,impresora,Epson Stylus C45,400.80,20
  2,impresora,Epson Stylus C85,500,30
  3,monitor,Samsung 14,800,10
  4,teclado,ingles Biswal,100,50
  5,teclado,español Biswal,90,50

5- Seleccione todos los registros de la tabla. 

6- Muestre los datos de las impresoras.

7- Seleccione los artículos cuyo precio sea mayor o igual a 500:
 
8- Seleccione los artículos cuya cantidad sea menor a 30:
 
9- Selecciones el nombre y descripción de los artículos que no cuesten $100:
 


Otros problemas:

A) Un video club que alquila películas en video almacena la información de sus 
películas en alquiler en una tabla denominada "peliculas".

1- Elimine la tabla, si existe.

2- Cree la tabla eligiendo el tipo de dato adecuado para cada campo:
 
 create table peliculas(
  titulo varchar(20),
  actor varchar(20),
  duracion integer,
  cantidad integer
 );

3- Vea la estructura de la tabla:
 
4- Ingrese los siguientes registros: 
 
(titulo, actor, duracion, cantidad)
 Mision imposible,Tom Cruise,120,3
 Mision imposible 2,Tom Cruise,180,2
 Mujer bonita,Julia R.,90,3
 Elsa y Fred,China Zorrilla,90,2

5- Seleccione las películas cuya duración no supere los 90 minutos:
 
6- Seleccione todas las películas en las que el actor no sea 'Tom Cruise':
 
7- Seleccione todas las películas de las que haya más de 2 copias:
 

B) Trabaje con la tabla "agenda" en la que registra los datos de sus amigos.

1- Elimine "agenda", si existe.

2- Cree la tabla, con los siguientes campos: apellido (cadena de 30), nombre (cadena de 20),
 domicilio (cadena de 30) y telefono (cadena de 11).

3- Visualice la estructura de la tabla.

4- Ingrese los siguientes registros:
 Mores,Alberto,Colon 123,4234567,
 Torres,Juan,Avellaneda 135,4458787,
 Lopez,Mariana,Urquiza 333,4545454,
 Lopez,Fernando,Urquiza 333,4545454.
 Suarez,Mariana,Sarmiento 643,4445544.
 Lopez,Ana,Sucre 309,4252587.

5- Seleccione todos los registros de la tabla.

6- Seleccione los amigos cuyo apellido sea 'Lopez'.

7- Seleccione los registros cuyo nombre NO sea 'Mariana'.

8- Seleccione los registros cuyo domicilio sea 'Colon 123'.

9- Muestre los datos de quienes tengan el teléfono '4545454'.
 
 
 

No hay comentarios:

Publicar un comentario