Skip to content

Commit 3baa6de

Browse files
Operadores relacionales
1 parent 29860ae commit 3baa6de

6 files changed

Lines changed: 218 additions & 0 deletions

File tree

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
### Recuperar algunos registros (where)
2+
3+
Hemos aprendido a seleccionar algunos campos de una tabla.
4+
También es posible recuperar algunos registros.
5+
6+
Existe una cláusula, "where" con la cual podemos especificar condiciones para una consulta "select". Es decir, podemos recuperar algunos registros, sólo los que cumplan con ciertas condiciones indicadas con la cláusula "where". Por ejemplo, queremos ver el usuario cuyo nombre es "Marcelo", para ello utilizamos "where" y luego de ella, la condición:
7+
8+
```sql
9+
select nombre, clave
10+
from usuarios
11+
where nombre='Marcelo';
12+
```
13+
La sintaxis básica y general es la siguiente:
14+
15+
16+
```sql
17+
select NOMBRECAMPO1, ..., NOMBRECAMPOn
18+
from NOMBRETABLA
19+
where CONDICION;
20+
21+
```
22+
Para las condiciones se utilizan operadores relacionales (tema que trataremos más adelante en detalle). El signo igual(=) es un operador relacional.
23+
Para la siguiente selección de registros especificamos una condición que solicita los usuarios cuya clave es igual a "River":
24+
25+
26+
```sql
27+
select nombre,clave
28+
from usuarios
29+
where clave='River';
30+
```
31+
Si ningún registro cumple la condición establecida con el "where", no aparecerá ningún registro.
32+
33+
Entonces, con "where" establecemos condiciones para recuperar algunos registros.
34+
35+
Para recuperar algunos campos de algunos registros combinamos en la consulta la lista de campos y la cláusula "where":
36+
37+
```sql
38+
select nombre
39+
from usuarios
40+
where clave='River';
41+
42+
```
43+
En la consulta anterior solicitamos el nombre de todos los usuarios cuya clave sea igual a "River".
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/************** Recuperar algunos registros (where) ************/
2+
3+
if object_id('usuarios') is not null
4+
drop table usuarios;
5+
6+
create table usuarios (
7+
nombre varchar(30),
8+
clave varchar(10)
9+
);
10+
11+
go
12+
13+
exec sp_columns usuarios;
14+
15+
insert into usuarios (nombre, clave)
16+
values ('Marcelo','Boca');
17+
insert into usuarios (nombre, clave)
18+
values ('JuanPerez','Juancito');
19+
insert into usuarios (nombre, clave)
20+
values ('Susana','River');
21+
insert into usuarios (nombre, clave)
22+
values ('Luis','River');
23+
24+
-- Recuperamos el usuario cuyo nombre es "Leonardo"
25+
select * from usuarios
26+
where nombre='Leonardo';
27+
28+
-- Recuperamos el nombre de los usuarios cuya clave es "River"
29+
select nombre from usuarios
30+
where clave='River';
31+
32+
-- Recuperamos el nombres de los usuarios cuya clave es "Santi"
33+
select nombre from usuarios
34+
where clave='Santi';
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/******Trabaje con la tabla "agenda" en la que registra los datos de sus amigos.***/
2+
3+
/*1- Elimine "agenda", si existe:
4+
if object_id('agenda') is not null
5+
drop table agenda;
6+
7+
2- Cree la tabla, con los siguientes campos: apellido (cadena de 30), nombre (cadena de 20),
8+
domicilio (cadena de 30) y telefono (cadena de 11).
9+
10+
3- Visualice la estructura de la tabla "agenda".
11+
12+
4- Ingrese los siguientes registros:
13+
Acosta, Ana, Colon 123, 4234567;
14+
Bustamante, Betina, Avellaneda 135, 4458787;
15+
Lopez, Hector, Salta 545, 4887788;
16+
Lopez, Luis, Urquiza 333, 4545454;
17+
Lopez, Marisa, Urquiza 333, 4545454.
18+
19+
5- Seleccione todos los registros de la tabla
20+
21+
6- Seleccione el registro cuyo nombre sea "Marisa" (1 registro)
22+
23+
7- Seleccione los nombres y domicilios de quienes tengan apellido igual a "Lopez" (3 registros)
24+
25+
8- Muestre el nombre de quienes tengan el teléfono "4545454" (2 registros)*/
26+
27+
28+
/**************** Solucion ****************/
29+
if object_id('agenda') is not null
30+
drop table agenda;
31+
32+
create table agenda (
33+
apellido varchar(30),
34+
nombre varchar(20),
35+
domicilio varchar(30),
36+
telefono varchar(11)
37+
);
38+
39+
insert into agenda(apellido, nombre, domicilio, telefono) values ('Acosta', 'Ana', 'Colon 123', 4234567)
40+
insert into agenda(apellido, nombre, domicilio, telefono) values ('Bustamante', 'Betina', 'Avellaneda 135', 4458787)
41+
insert into agenda(apellido, nombre, domicilio, telefono) values ( 'Lopez', 'Hector', 'Salta 545', 4887788)
42+
insert into agenda(apellido, nombre, domicilio, telefono) values ('Lopez', 'Luis', 'Urquiza 333', 4545454)
43+
insert into agenda(apellido, nombre, domicilio, telefono) values ( 'Lopez', 'Marisa', 'Urquiza 333', 4545454)
44+
45+
/*5- Seleccione todos los registros de la tabla*/
46+
EXEC sp_columns agenda
47+
48+
/*6- Seleccione el registro cuyo nombre sea "Marisa" (1 registro)*/
49+
select *from agenda where nombre= 'marisa'
50+
51+
/*7- Seleccione los nombres y domicilios de quienes tengan apellido igual a "Lopez" (3 registros)*/
52+
select nombre, domicilio from agenda where apellido='Lopez';
53+
54+
/*8- Muestre el nombre de quienes tengan el teléfono "4545454" (2 registros)*/
55+
select nombre from agenda where telefono= 4545454;
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
if object_id('libros') is not null
2+
drop table libros;
3+
4+
create table libros (
5+
titulo varchar(20),
6+
autor varchar(30),
7+
editorial varchar(15)
8+
);
9+
10+
exec sp_columns libros;
11+
12+
insert into libros(titulo,autor,editorial) values
13+
('El aleph','Borges','Emece');
14+
insert into libros(titulo,autor,editorial) values
15+
('Martin Fierro','Jose Hernandez','Emece');
16+
insert into libros(titulo,autor,editorial) values
17+
('Martin Fierro','Jose Hernandez','Planeta');
18+
insert into libros(titulo,autor,editorial) values
19+
('Aprenda PHP','Mario Molina','Siglo XXI');
20+
21+
select * from libros
22+
where autor='Borges';
23+
24+
select titulo from libros
25+
where editorial='Emece';
26+
27+
select editorial from libros
28+
where titulo='Martin Fierro';
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
### Recuperar algunos registros (where)
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
### Operadores Relacionales
2+
3+
Los operadores son símbolos que permiten realizar operaciones matemáticas, concatenar cadenas, hacer comparaciones.
4+
5+
SQL Server tiene 4 tipos de operadores:
6+
7+
1. relacionales (o de comparación)
8+
2. aritméticos
9+
3. 4. de concatenación
10+
lógicos.
11+
Por ahora veremos solamente los primeros.
12+
13+
Los operadores relacionales (o de comparación) nos permiten comparar dos expresiones, que pueden ser variables, valores de campos, etc.
14+
15+
Hemos aprendido a especificar condiciones de igualdad para seleccionar registros de una tabla; por ejemplo:
16+
17+
```sql
18+
select * from libros
19+
where autor='Borges';
20+
```
21+
Utilizamos el operador relacional de igualdad.
22+
23+
Los operadores relacionales vinculan un campo con un valor para que SQL Server compare cada registro (el campo especificado) con el valor dado.
24+
25+
Los operadores relacionales son los siguientes:
26+
27+
= igual
28+
<> distinto
29+
> mayor
30+
< menor
31+
>= mayor o igual
32+
<= menor o igual
33+
34+
Podemos seleccionar los registros cuyo autor sea diferente de "Borges", para ello usamos la condición:
35+
36+
```sql
37+
select * from libros
38+
where autor<>'Borges';
39+
```
40+
41+
Podemos comparar valores numéricos. Por ejemplo, queremos mostrar los títulos y precios de los libros cuyo precio sea mayor a 20 pesos:
42+
43+
```sql
44+
select titulo, precio
45+
from libros
46+
where precio>20;
47+
```
48+
49+
Queremos seleccionar los libros cuyo precio sea menor o igual a 30:
50+
51+
```sql
52+
select *from libros
53+
where precio<=30;
54+
```
55+
Los operadores relacionales comparan valores del mismo tipo. Se emplean para comprobar si un campo cumple con una condición.
56+
57+
No son los únicos, existen otros que veremos mas adelante.

0 commit comments

Comments
 (0)