30 - Otros operadores relacionales (between - in) |
Trabajamos con la tabla "libros" de una librerķa.
Eliminamos la tabla, si existe.
Creamos la tabla con la siguiente estructura:
create table libros( codigo int unsigned auto_increment, titulo varchar(40), autor varchar(30), editorial varchar(15), precio decimal(5,2) unsigned, primary key(codigo) );
Ingresamos algunos registros:
insert into libros (titulo,autor,editorial,precio) values('El aleph','Borges','Planeta',15.50); insert into libros (titulo,autor,editorial,precio) values('Martin Fierro','Jose Hernandez','Emece',22.90); insert into libros (titulo,autor,editorial,precio) values('Martin Fierro','Jose Hernandez','Planeta',39); insert into libros (titulo,autor,editorial,precio) values('Aprenda PHP','Mario Molina','Emece',19.50); insert into libros (titulo,autor,editorial,precio) values('Cervantes y el quijote','Borges','Paidos',35.40); insert into libros (titulo,autor,editorial,precio) values('Matematica estas ahi', 'Paenza', 'Paidos',19);
Recuperamos los registros que tienen precio mayor o igual a 20 y menor o igual a 40, usando 2 condiciones:
select * from libros where precio>=20 and precio<=40;
Ahora usamos "between" y confirmamos que la salida es la misma:
select * from libros where precio between 20 and 40;
Recuperamos los libros cuyo autor es 'Paenza' o 'Borges' usando 2 condiciones:
select * from libros where autor='Borges' or autor='Paenza';
Usamos "in" y obtenemos el mismo resultado:
select * from libros where autor in('Borges','Paenza');
Seleccionamos los libros cuyo autor no es 'Paenza' ni 'Borges' usamos:
select * from libros where autor<>'Borges' and autor<>'Paenza';
Realizamos la misma consulta, pero esta vez con "in" :
select * from libros where autor not in ('Borges','Paenza');