Está en la página 1de 6

7 - Operadores relacionales

Los operadores relacionales (o de comparación) nos permiten comparar dos


expresiones, que pueden ser variables, valores de campos, etc.
Hemos aprendido a especificar condiciones de igualdad para seleccionar
registros de una tabla; por ejemplo:

select * from libros


where autor='Borges';

Utilizamos el operador relacional de igualdad.


Los operadores relacionales vinculan un campo con un valor para que SQLite
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 * from libros


where autor<>'Borges';

Podemos comparar valores numéricos. Por ejemplo, queremos mostrar los


títulos y precios de los libros cuyo precio sea mayor a 20 pesos:

select titulo, precio


from libros
where precio>20;

Queremos seleccionar los libros cuyo precio sea menor o igual a 30:

select * from libros


where precio<=30;

Los operadores relacionales comparan valores del mismo tipo. Se emplean


para comprobar si un campo cumple con una condición.

Problema resuelto
Borramos primero la tabla libros si existe:

drop table if exists libros;


Creamos ahora la tabla libros con la siguiente estructura:

create table libros(


titulo text,
autor text,
editorial text,
precio real
);
Agregamos registros a la tabla

insert into libros (titulo,autor,editorial,precio)


values ('El aleph','Borges','Emece',24.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 y el quijote','Borges','Paidos',50.90);
Seleccionamos los registros cuyo autor sea diferente de 'Borges':

select * from libros


where autor<>'Borges';
Seleccionamos los registros cuyo precio supere los 20 pesos, sólo el título y
precio:

select titulo, precio


from libros
where precio>20;
Note que el valor con el cual comparamos el campo "precio", como es
numérico (real), no se coloca entre comillas. Los libros cuyo precio es menor o
igual a 20 pesos no aparece en la selección.
Recuperamos aquellos libros cuyo precio es menor o igual a 30:

select * from libros


where precio<=30;
Cuando ejecutamos todos los comando SQL recordar que solo se muestra el
último ejecutado:
Para comentar un conjunto de líneas para que no se ejecuten podemos utilizar
la sintaxis:

/*
comandos SQL
*/

Recordemos que el otro tipo de comentario que es solo para una línea son dos
caracteres --

Problema propuesto
1. Borrar la tabla articulos si existe.
2. Crear la tabla articulos con la siguiente estructura:

3. create table articulos(


4. codigo integer,
5. nombre text,
6. descripcion text,
7. precio real,
8. cantidad integer
9. );

10.Ingrese estos registros en la tabla:

11. insert into articulos (codigo, nombre, descripcion, precio,cantidad)


12. values (1,'impresora','Epson Stylus C45',400.80,20);
13. insert into articulos (codigo, nombre, descripcion, precio,cantidad)
14. values (2,'impresora','Epson Stylus C85',500,30);
15. insert into articulos (codigo, nombre, descripcion, precio,cantidad)
16. values (3,'monitor','Samsung 14',800,10);
17. insert into articulos (codigo, nombre, descripcion, precio,cantidad)
18. values (4,'teclado','ingles Biswal',100,50);
19. insert into articulos (codigo, nombre, descripcion, precio,cantidad)
20. values (5,'teclado','español Biswal',90,50);

21.Seleccione los datos de las impresoras (2 registros)


22.Seleccione los artículos cuyo precio sea mayor o igual a 400 (3 registros)
23.Seleccione el código y nombre de los artículos cuya cantidad sea menor a
30 (2 registros)
24.Selecciones el nombre y descripción de los artículos que NO cuesten $100
(4 registros)
drop table if exists articulos;

create table articulos(


codigo integer,
nombre text,
descripcion text,
precio real,
cantidad integer
);

insert into articulos (codigo, nombre, descripcion, precio,cantidad)


values (1,'impresora','Epson Stylus C45',400.80,20);
insert into articulos (codigo, nombre, descripcion, precio,cantidad)
values (2,'impresora','Epson Stylus C85',500,30);
insert into articulos (codigo, nombre, descripcion, precio,cantidad)
values (3,'monitor','Samsung 14',800,10);
insert into articulos (codigo, nombre, descripcion, precio,cantidad)
values (4,'teclado','ingles Biswal',100,50);
insert into articulos (codigo, nombre, descripcion, precio,cantidad)
values (5,'teclado','español Biswal',90,50);

select *
from articulos
where nombre='impresora';

select *
from articulos
where precio>=400;

select codigo,nombre
from articulos
where cantidad<30;

select nombre, descripcion


from articulos
where precio<>100;

También podría gustarte