Está en la página 1de 52

TALLER EJERCICIOS SQL SERVER YA

PRESENTADO A:

ANGELA BIBIANA ORTEGON FUENTES

PRESENTADO POR:

SANDRA MILENA MENDOZA MALDONADO

SERVICIO NACIONAL DE APRENDIZAJE SENA

PROGRAMA FICHA: 26753408

YOPAL, AGOSTO 2023


EJERCICIOS SQL SERVER YA

2. CREAR UNA TABLA


Necesita almacenar los datos de sus amigos en una tabla. Los datos que guardará serán:
apellido, Nombre, domicilio y teléfono.

2.1- Elimine la tabla "agenda" si existe:


if object_id('agenda') is not null
drop table agenda;

2.2- Intente crear una tabla llamada "/agenda":


create table /agenda(
apellido varchar(30),
nombre varchar(20),
domicilio varchar(30),
telefono varchar(11)
);

Aparece un mensaje de error porque usamos un carácter inválido ("/") para el nombre.
2.3- Cree una tabla llamada "agenda", debe tener los siguientes campos: apellido,
varchar(30); nombre,
varchar(20); domicilio, varchar (30) y telefono, varchar(11):
create table agenda(
apellido varchar(30),
nombre varchar(20),
domicilio varchar(30),
telefono varchar(11)
);
2.4- Intente crearla nuevamente. Aparece mensaje de error.

2.5- Visualice las tablas existentes (exec sp_tables @table_owner='dbo').

2.6- Visualice la estructura de la tabla "agenda" (sp_columns).


2.7- Elimine la tabla

2.8- Intente eliminar la tabla, sin controlar si existe. Debe aparecer un mensaje de error.

SEGUNDO PROBLEMA

Necesita almacenar información referente a los libros de su biblioteca personal. Los datos
que guardará serán: título del libro, nombre del autor y nombre de la editorial.
2.1.1- Elimine la tabla "libros", si existe:
if object_id('libros') is not null
drop table libros;

2.2.2- Verifique que la tabla "libros" no existe en la base de datos activa (exec sp_tables
@table_owner='dbo').
2.3.3- Cree una tabla llamada "libros". Debe definirse con los siguientes campos: título,
varchar(20); autor, varchar(30) y editorial, varchar(15).

2.4.4- Intente crearla nuevamente. Aparece mensaje de error.

2.5.5- Visualice las tablas existentes.

2.6.6- Visualice la estructura de la tabla "libros".


2.7.7- Elimine la tabla.

2.8.8- Intente eliminar la tabla nuevamente.

3. INSERTAR Y RECUPERAR REGISTROS DE UNA TABLA (insert into -


select)

Trabaje con la tabla "agenda" que almacena información de sus amigos.


3.1- Elimine la tabla "agenda", si existe:
if object_id('agenda') is not null
drop table agenda;

3.2- Cree una tabla llamada "agenda". Debe tener los siguientes campos: apellido (cadena
de 30), nombre (cadena de 20), domicilio (cadena de 30) y telefono (cadena de 11):

3.3- Visualice las tablas existentes para verificar la creación de "agenda"


(exec sp_tables @table_owner='dbo').
3.4- Visualice la estructura de la tabla "agenda" (sp_columns).

3.5- Ingrese los siguientes registros: insert into agenda (apellido, nombre, domicilio,
telefono)values ('Moreno','Alberto','Colon 123','4234567');insert into agenda
(apellido,nombre, domicilio, telefono) values ('Torres','Juan','Avellaneda 135','4458787');

3.6- Seleccione todos los registros de la tabla:


select * from agenda;

3.7- Elimine la tabla "agenda":


drop table agenda;

3.8- Intente eliminar la tabla nuevamente (aparece un mensaje de error):


drop table agenda;
4 - Tipos de datos básicos
Un videoclub que alquila películas en video almacena la información de sus películas en
una tabla llamada "peliculas"; para cada película necesita los siguientes datos:
-nombre, cadena de caracteres de 20 de longitud,
-actor, cadena de caracteres de 20 de longitud,
-duración, valor numérico entero.
-cantidad de copias: valor entero.

4.1- Elimine la tabla, si existe:


if object_id('peliculas')is not null
drop table peliculas;

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

4.3- Vea la estructura de la tabla:

4.4- Ingrese los siguientes registros:


insert into peliculas (nombre, actor, duracion, cantidad)
values ('Mision imposible','Tom Cruise',128,3);
insert into peliculas (nombre, actor, duracion, cantidad)
values ('Mision imposible 2','Tom Cruise',130,2);
insert into peliculas (nombre, actor, duracion, cantidad)
values ('Mujer bonita','Julia Roberts',118,3);
insert into peliculas (nombre, actor, duracion, cantidad)
values ('Elsa y Fred','China Zorrilla',110,2);
4.5- Muestre todos los registros.

5 - Recuperar algunos campos (select)


Un videoclub que alquila películas en video almacena la información de sus películas en
alquiler en
una tabla llamada "peliculas".

5.1- Elimine la tabla, si existe:


if object_id('peliculas') is not null
drop table peliculas;

5.2- Cree la tabla:


create table peliculas(
titulo varchar(20),
actor varchar(20),
duracion integer,
cantidad integer
);

5.3- Vea la estructura de la tabla (sp_columns).

5.4- Ingrese a los siguientes registros:


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);

5.5- Realice un "select" mostrando solamente el título y actor de todas las películas
5.6- Muestre el título y duración de todas las películas

5.7- Muestre el título y la cantidad de copias

6 - Recuperar algunos registros (where)

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

6.1- Elimine "agenda", si existe:


if object_id('agenda') is not null
drop table agenda;

6.2- Cree la tabla, con los siguientes campos: apellido (cadena de 30), nombre (cadena de
20), domicilio (cadena de 30) y teléfono (cadena de 11).
6.3- Visualice la estructura de la tabla "agenda".

6.4- Ingrese los siguientes registros:


Acosta, Ana, Colon 123, 4234567;
Bustamante, Betina, Avellaneda 135, 4458787;
Lopez, Hector, Salta 545, 4887788;
Lopez, Luis, Urquiza 333, 4545454;
Lopez, Marisa, Urquiza 333, 4545454.

6.5- Seleccione todos los registros de la tabla


6.6- Seleccione el registro cuyo nombre sea "Marisa" (1 registro)

6.7- Seleccione los nombres y domicilios de quienes tengan apellido igual a "Lopez" (3
registros)

6.8- Muestre el nombre de quienes tengan el teléfono "4545454" (2 registros)

7 - Operadores relacionales
Un comercio que vende artículos de computación registra los datos de sus artículos en
una tabla con ese nombre.
7.1- Elimine "articulos", si existe:
if object_id('articulos') is not null
drop table articulos;

7.2- Cree la tabla, con la siguiente estructura:


create table articulos(
codigo integer,
nombre varchar(20),
descripcion varchar(30),
precio float,
cantidad integer
);

7.3- Vea la estructura de la tabla (sp_columns).

7.4- Ingrese algunos registros:


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);
7.5- Seleccione los datos de las impresoras (2 registros)

7.6- Seleccione los artículos cuyo precio sea mayor o igual a 400 (3 registros)

7.7- Seleccione el código y nombre de los artículos cuya cantidad sea menor a 30 (2
registros)
7.8- Selecciones el nombre y descripción de los artículos que NO cuesten $100 (4
registros)

8 - Borrar registros (delete)


Trabaje con la tabla "agenda" que registra la información referente a sus amigos.

8.1- Elimine la tabla si existe:


if object_id('agenda') is not null
drop table agenda;

8.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):

create table agenda(


apellido varchar(30),
nombre varchar(20),
domicilio varchar(30),
telefono varchar(11)
);

8.3- Ingrese los siguientes registros (insert into):


Alvarez,Alberto,Colon 123,4234567,
Juarez,Juan,Avellaneda 135,4458787,
Lopez,Maria,Urquiza 333,4545454,
Lopez,Jose,Urquiza 333,4545454,
Salas,Susana,Gral. Paz 1234,4123456.
insert into agenda (apellido,nombre,domicilio,telefono)
values('Alvarez','Alberto','Colon 123','4234567');
insert into agenda (apellido,nombre,domicilio,telefono)
values('Juarez','Juan','Avellaneda 135','4458787');
insert into agenda (apellido,nombre,domicilio,telefono)
values('Lopez','Maria','Urquiza 333','4545454');
insert into agenda (apellido,nombre,domicilio,telefono)
values('Lopez','Jose','Urquiza 333','4545454');
insert into agenda (apellido,nombre,domicilio,telefono)
values('Salas','Susana','Gral. Paz 1234','4123456');
8.4- Elimine el registro cuyo nombre sea "Juan" (1 registro afectado)

8.5- Elimine los registros cuyo número telefónico sea igual a "4545454" (2 registros
afectados):

8.6- Muestre la tabla.

8.7- Elimine todos los registros (2 registros afectados):

8.8- Muestre la tabla.

9 - Actualizar registros (update)

Trabaje con la tabla "agenda" que almacena los datos de sus amigos.
9.1- Elimine la tabla si existe:
if object_id('agenda') is not null
drop table agenda;

9.2- Cree la tabla:


create table agenda(
apellido varchar(30),
nombre varchar(20),
domicilio varchar(30),
telefono varchar(11)
);
9.3- Ingrese los siguientes registros (1 registro actualizado):
insert into agenda (apellido,nombre,domicilio,telefono)
values ('Acosta','Alberto','Colon 123','4234567');
insert into agenda (apellido,nombre,domicilio,telefono)
values ('Juarez','Juan','Avellaneda 135','4458787');
insert into agenda (apellido,nombre,domicilio,telefono)
values ('Lopez','Maria','Urquiza 333','4545454');
insert into agenda (apellido,nombre,domicilio,telefono)
values ('Lopez','Jose','Urquiza 333','4545454');
insert into agenda (apellido,nombre,domicilio,telefono)
values ('Suarez','Susana','Gral. Paz 1234','4123456');

9.4- Modifique el registro cuyo nombre sea "Juan" por "Juan Jose" (1 registro afectado)
9.5- Actualice los registros cuyo número telefónico sea igual a "4545454" por "4445566"
(2 registros afectados)

9.6- Actualice los registros que tengan en el campo "nombre" el valor "Juan" por "Juan
Jose" (ningún registro afectado porque ninguno cumple con la condición del "where")
9.7- Luego de cada actualización ejecute un select que muestre todos los registros de la
tabla.

10 - Comentarios

Trabajamos con la tabla "libros" que almacena los datos de los libros de una librería.
Eliminamos la tabla, si existe:

if object_id('libros') is not null


drop table libros;

Creamos la tabla:

create table libros(


titulo varchar(30),
autor varchar(20),
editorial varchar(15)
);
Agregamos un registro:

insert into libros (titulo,autor,editorial)


values ('El aleph','Borges','Emece');

Mostramos todos los libros y agregamos un comentario de linea:

select * from libros --mostramos los registros de libros;

Vamos a mostrar el título y autor de todos los libros y agregamos un bloque de


comentarios:

select titulo, autor


/*mostramos títulos y
nombres de los autores*/
from libros;

Note que lo que está entre los símbolos no se ejecuta.

11 - Valores null (is null)

Una farmacia guarda información referente a sus medicamentos en una tabla llamada
"medicamentos".
11. 1- Elimine la tabla, si existe:
if object_id('medicamentos') is not null
drop table medicamentos;
11.2- Cree la tabla con la siguiente estructura:
create table medicamentos(
codigo integer not null,
nombre varchar(20) not null,
laboratorio varchar(20),
precio float,
cantidad integer not null
);

11.3- Visualice la estructura de la tabla "medicamentos": exec sp_columns medicamentos;


note que los campos "codigo", "nombre" y "cantidad", en la columna "IS_NULLABLE"
aparece "NO" y en las otras "YES".

11.4- Ingrese algunos registros con valores "null" para los campos que lo admitan:
insert into medicamentos (codigo,nombre,laboratorio,precio,cantidad)
values(1,'Sertal gotas',null,null,100);
insert into medicamentos (codigo,nombre,laboratorio,precio,cantidad)
values(2,'Sertal compuesto',null,8.90,150);
insert into medicamentos (codigo,nombre,laboratorio,precio,cantidad)
values(3,'Buscapina','Roche',null,200);

11.5- Vea todos los registros:


select * from medicamentos;

11.6- Ingrese un registro con valor "0" para el precio y cadena vacía para el laboratorio:
insert into medicamentos (codigo,nombre, laboratorio,precio,cantidad)
values(4,'Bayaspirina','',0,150);

11.7- Ingrese un registro con valor "0" para el código y cantidad y cadena vacía para el
nombre:
insert into medicamentos (codigo,nombre,laboratorio,precio,cantidad)
values(0,'','Bayer',15.60,0);

11.8- Muestre todos los registros:


select * from medicamentos;

11.9- Intente ingresar un registro con valor nulo para un campo que no lo admite (aparece
un mensaje de error):
insert into medicamentos (codigo,nombre,laboratorio,precio,cantidad)
values(null,'Amoxidal jarabe','Bayer',25,120);
11.10- Recupere los registros que contengan valor "null" en el campo "laboratorio", luego
los que tengan una cadena vacía en el mismo campo. Note que el resultado es diferente.

11.11- Recupere los registros que contengan valor "null" en el campo "precio", luego los
que tengan el valor 0 en el mismo campo. Note que el resultado es distinto.

11.12- Recupere los registros cuyo laboratorio no contenga una cadena vacía, luego los
que sean distintos de "null". Note que la salida de la primera sentencia no muestra los
registros con cadenas vacías y tampoco los que tienen valor nulo; el resultado de la
segunda sentencia muestra los registros con valor para el campo laboratorio (incluso
cadena vacía).
11.13- Recupere los registros cuyo precio sea distinto de 0, luego los que sean distintos de
"null": Note que la salida de la primera sentencia no muestra los registros con valor 0 y
tampoco los que tienen valor nulo; el resultado de la segunda sentencia muestra los
registros con valor para el campo precio (incluso el valor 0).

12 - Clave primaria
Trabaje con la tabla "libros" de una librería.
12.1- Elimine la tabla si existe:
if object_id('libros') is not null
drop table libros;
12.2- Créela con los siguientes campos, estableciendo como clave primaria el campo
"codigo":
create table libros(
codigo int not null,
titulo varchar(40) not null,
autor varchar(20),
editorial varchar(15),
primary key(codigo)
);

12.3- Ingrese los siguientes registros:


insert into libros (codigo,titulo,autor,editorial)
values (1,'El aleph','Borges','Emece');
insert into libros (codigo,titulo,autor,editorial)
values (2,'Martin Fierro','Jose Hernandez','Planeta');
insert into libros (codigo,titulo,autor,editorial)
values (3,'Aprenda PHP','Mario Molina','Nuevo Siglo');

12.4- Ingrese un registro con código repetido (aparece un mensaje de error)


12.5- Intente ingresar el valor "null" en el campo "codigo"

12.6- Intente actualizar el código del libro "Martin Fierro" a "1" (mensaje de error)

13 - Campo con atributo Identity

Una farmacia guarda información referente a sus medicamentos en una tabla llamada
"medicamentos".
13.1- Elimine la tabla,si existe:
if object_id('medicamentos') is not null
drop table medicamentos;

13.2- Cree la tabla con un campo "codigo" que genere valores secuenciales
automáticamente:
create table medicamentos(
codigo int identity,
nombre varchar(20) not null,
laboratorio varchar(20),
precio float,
cantidad integer
);
13.3- Visualice la estructura de la tabla "medicamentos":
exec sp_columns medicamentos;

13.4- Ingrese los siguientes registros:


insert into medicamentos (nombre, laboratorio,precio,cantidad)
values('Sertal','Roche',5.2,100);
insert into medicamentos (nombre, laboratorio,precio,cantidad)
values('Buscapina','Roche',4.10,200);
insert into medicamentos (nombre, laboratorio,precio,cantidad)
values('Amoxidal 500','Bayer',15.60,100);

13.5- Verifique que SQL Server generó valores para el campo "código" de modo
automático:
select * from medicamentos;
13.6- Intente ingresar un registro con un valor para el campo "código"

13.7- Intente actualizar un valor de código (aparece un mensaje de error)

13.8- Elimine el registro con código "3" (1 registro eliminado)

13.9- Ingrese un nuevo registro:


insert into medicamentos (nombre,laboratorio,precio,cantidad)
values('Amoxilina 500','Bayer',15.60,100);

13.10- Seleccione todos los registros para ver qué valor guardó SQL Server en el campo
código:
select * from medicamentos;
14 - Otras características del atributo Identity

Una farmacia guarda información referente a sus medicamentos en una tabla llamada
"medicamentos".
14.1- Elimine la tabla,si existe:
if object_id('medicamentos') is not null
drop table medicamentos;

14.2- Cree la tabla con un campo "código" que genere valores secuenciales
automáticamente comenzando en 10 e incrementándose en 1:

create table medicamentos(


codigo integer identity(10,1),
nombre varchar(20) not null,
laboratorio varchar(20),
precio float,
cantidad integer
);

14.3- Ingrese los siguientes registros:


insert into medicamentos (nombre, laboratorio,precio,cantidad)
values('Sertal','Roche',5.2,100);
insert into medicamentos (nombre, laboratorio,precio,cantidad)
values('Buscapina','Roche',4.10,200);
insert into medicamentos (nombre, laboratorio,precio,cantidad)
values('Amoxidal 500','Bayer',15.60,100);

14.4- Verifique que SQL Server generó valores para el campo "código" de modo
automático:
select *from medicamentos;

14.5- Intente ingresar un registro con un valor para el campo "codigo".

14.6- Setee la opción "identity_insert" en "on"


14.7- Ingrese un nuevo registro sin valor para el campo "codigo" (no lo permite):
insert into medicamentos (nombre, laboratorio,precio,cantidad)
values('Amoxilina 500','Bayer',15.60,100);

14.8- Ingrese un nuevo registro con valor para el campo "codigo" repetido.

14.9- Use la función "ident_seed()" para averiguar el valor de inicio del campo "identity"
de la tabla "medicamentos"

14.10- Emplee la función "ident_incr()" para saber cuál es el valor de incremento del
campo "identity" de "medicamentos"

15 - Truncate table

Un instituto de enseñanza almacena los datos de sus estudiantes en una tabla llamada
"alumnos".
15.1- Elimine la tabla "alumnos" si existe:
if object_id('alumnos') is not null
drop table alumnos;
15.2- Cree la tabla con la siguiente estructura:
create table alumnos(
legajo int identity,
documento varchar(8),
nombre varchar(30),
domicilio varchar(30)
);

15.3- Ingrese los siguientes registros y muéstrelos para ver la secuencia de códigos:
insert into alumnos (documento,nombre,domicilio)
values('22345345','Perez Mariana','Colon 234');
insert into alumnos (documento,nombre,domicilio)
values('23545345','Morales Marcos','Avellaneda 348');
insert into alumnos (documento,nombre,domicilio)
values('24356345','Gonzalez Analia','Caseros 444');
insert into alumnos (documento,nombre,domicilio)
values('25666777','Torres Ramiro','Dinamarca 209');

15.4- Elimine todos los registros con "delete".


15.5- Ingrese los siguientes registros y selecciónelos para ver cómo SQL Server generó los
códigos:
insert into alumnos (documento,nombre,domicilio)
values('22345345','Perez Mariana','Colon 234');
insert into alumnos (documento,nombre,domicilio)
values('23545345','Morales Marcos','Avellaneda 348');
insert into alumnos (documento,nombre,domicilio)
values('24356345','Gonzalez Analia','Caseros 444');
insert into alumnos (documento,nombre,domicilio)
values('25666777','Torres Ramiro','Dinamarca 209');
select * from alumnos;

15.6- Elimine todos los registros con "truncate table".


15.7- Ingrese los siguientes registros y muestre todos los registros para ver que SQL Server
reinició la secuencia del campo "identity":

insert into alumnos (documento,nombre,domicilio)


values('22345345','Perez Mariana','Colon 234');
insert into alumnos (documento,nombre,domicilio)
values('23545345','Morales Marcos','Avellaneda 348');
insert into alumnos (documento,nombre,domicilio)
values('24356345','Gonzalez Analia','Caseros 444');
insert into alumnos (documento,nombre,domicilio)
values('25666777','Torres Ramiro','Dinamarca 209');
select * from alumnos;

16 - Otros tipos de datos en SQL Server


16.1 texto: se usa cadenas de caracteres

16.2. Números: para almacenar valores enteros

16.3 fechas y horas: para almacenar fechas y horas. Datatime y smalldatetime.


17 - Tipo de dato (texto)
Una concesionaria de autos vende autos usados y almacena los datos de los autos en una
tabla llamada
"autos".
17.1- Elimine la tabla "autos" si existe:
if object_id('autos') is not null
drop table autos;

17.2- Cree la tabla eligiendo el tipo de dato adecuado para cada campo, estableciendo el
campo
"patente" como clave primaria:
create table autos(
patente char(6),
marca varchar(20),
modelo char(4),
precio float,
primary key (patente)
);

Hemos definido el campo "patente" de tipo "char" y no "varchar" porque la cadena de


caracteres siempre tendrá la misma longitud (6 caracteres). Lo mismo sucede con el
campo "modelo", en el cual almacenaremos el año, necesitamos 4 caracteres fijos.

17.3- Ingrese los siguientes registros:


insert into autos
values('ACD123','Fiat 128','1970',15000);
insert into autos
values('ACG234','Renault 11','1990',40000);
insert into autos
values('BCD333','Peugeot 505','1990',80000);
insert into autos
values('GCD123','Renault Clio','1990',70000);
insert into autos
values('BCC333','Renault Megane','1998',95000);
insert into autos
values('BVF543','Fiat 128','1975',20000);

17.4- Seleccione todos los autos del año 1990:


select * from autos
where modelo='1990';

18 - Tipo de dato (numérico)

Un banco tiene registrados las cuentas corrientes de sus clientes en una tabla llamada
"cuentas".
La tabla contiene estos datos:
Número de Cuenta Documento Nombre Saldo
______________________________________________________
1234 25666777 Pedro Perez 500000.60
2234 27888999 Juan Lopez -250000
3344 27888999 Juan Lopez 4000.50
3346 32111222 Susana Molina 1000

18.1- Elimine la tabla "cuentas" si existe:


if object_id('cuentas') is not null
drop table cuentas;
18.2- Cree la tabla eligiendo el tipo de dato adecuado para almacenar los datos descriptos
arriba:

- Número de cuenta: entero, no nulo, no puede haber valores repetidos, clave primaria;
- Documento del propietario de la cuenta: cadena de caracteres de 8 de longitud (siempre
8), no nulo;
- Nombre del propietario de la cuenta: cadena de caracteres de 30 de longitud,
- Saldo de la cuenta: valores altos con decimales.

18.3- Ingrese los siguientes registros:


insert into cuentas(numero,documento,nombre,saldo)
values('1234','25666777','Pedro Perez',500000.60);
insert into cuentas(numero,documento,nombre,saldo)
values('2234','27888999','Juan Lopez',-250000);
insert into cuentas(numero,documento,nombre,saldo)
values('3344','27888999','Juan Lopez',4000.50);
insert into cuentas(numero,documento,nombre,saldo)
values('3346','32111222','Susana Molina',1000);
Note que hay dos cuentas, con distinto número de cuenta, de la misma persona.
18.4- Seleccione todos los registros cuyo saldo sea mayor a "4000" (2 registros)

18.5- Muestre el número de cuenta y saldo de todas las cuentas cuyo propietario sea
"Juan Lopez" (2 registros)

18.6- Muestre las cuentas con saldo negativo (1 registro)


18.7- Muestre todas las cuentas cuyo número es igual o mayor a "3000" (2 registros):
select * from cuentas
where numero>=3000;

19 - Tipo de dato (fecha y hora)

Una facultad almacena los datos de sus alumnos en una tabla denominada "alumnos".
19.1- Elimine la tabla, si existe:
if object_id('alumnos') is not null
drop table alumnos;

19.2- Cree la tabla eligiendo el tipo de dato adecuado para cada campo:
create table alumnos(
apellido varchar(30),
nombre varchar(30),
documento char(8),
domicilio varchar(30),
fechaingreso datetime,
fechanacimiento datetime
);

19.3- Setee el formato para entrada de datos de tipo fecha para que acepte valores "día-
mes-año": set dateformat 'dmy';
19.4- Ingrese un alumno empleando distintos separadores para las fechas:
insert into alumnos values('Gonzalez','Ana','22222222','Colon 123','10-08-
1990','15/02/1972');

19.5- Ingrese otro alumno empleando solamente un dígito para día y mes y 2 para el año:
insert into alumnos values('Juarez','Bernardo','25555555','Sucre 456','03-03-
1991','15/02/1972');

19.6- Ingrese un alumnos empleando 2 dígitos para el año de la fecha de ingreso y "null"
en "fechanacimiento": insert into alumnos values('Perez','Laura','26666666','Bulnes
345','03-03-91',null);

19.7- Intente ingresar un alumno con fecha de ingreso correspondiente a "15 de marzo de
1990" pero en orden incorrecto "03-15-90":
insert into alumnos values('Lopez','Carlos','27777777','Sarmiento 1254','03-15-1990',null);
aparece un mensaje de error porque lo lee con el formato día, mes y año y no reconoce el
mes 15.

19.8- Muestre todos los alumnos que ingresaron antes del '1-1-91'.
1 registro

19.9- Muestre todos los alumnos que tienen "null" en "fecha nacimiento":
select *from alumnos where fecha nacimiento is null; 1 registro.
19.10- Intente ingresar una fecha de ingreso omitiendo los separadores:
insert into alumnos values('Rosas','Romina','28888888','Avellaneda 487','03151990',null);
No lo acepta.

19.11- Setee el formato de entrada de fechas para que acepte valores "mes-dia-año".

19.12- Ingrese el registro del punto 7.

20 - Ingresar algunos campos (insert into)

Un banco tiene registrados las cuentas corrientes de sus clientes en una tabla llamada
"cuentas".
20.1- Elimine la tabla "cuentas" si existe:
if object_id('cuentas') is not null
drop table cuentas;

20.2- Cree la tabla :


create table cuentas(
numero int identity,
documento char(8) not null,
nombre varchar(30),
saldo money
);
20.3- Ingrese un registro con valores para todos sus campos, inclusive el campo identity,
omitiendo la lista de campos (error, no se debe ingresar para el campo identity):
insert into cuentas values (1,'25666777','Juan Perez',2500.50);

20.4- Ingrese un registro con valores para todos sus campos omitiendo la lista de campos
(excepto el campo "identity"):
insert into cuentas
values ('25666777','Juan Perez',2500.50);

20.5- Ingrese un registro omitiendo algún campo que admitan valores nulos.

20.6- Intente ingresar un registro con valor para el campo "numero" (error):
insert into cuentas (numero,documento,nombre,saldo)
values (5,'28999777','Luis Lopez',34000);

20.7- Intente ingresar un registro listando 3 campos y colocando 4 valores (error)


20.8- Intente ingresar un registro sin valor para el campo "documento" (error)

20.9- Vea los registros ingresados:


select * from libros;

AL EJECUTAR ESTA ORDEN EN EL SISTEMA, NO SE EJECUTA PORQUE EL NOMBRE DE LA TABLA ES


“CUENTAS”

21 - Valores por defecto (default)

Un comercio que tiene un stand en una feria registra en una tabla llamada "visitantes"
algunos datos de las personas que visitan o compran en su stand para luego enviarle
publicidad de sus productos.
21.1- Elimine la tabla "visitantes", si existe:
if object_id('visitantes') is not null
drop table visitantes;

21.2- Cree la tabla con la siguiente estructura:


create table visitantes(
nombre varchar(30),
edad tinyint,
sexo char(1) default 'f',
domicilio varchar(30),
ciudad varchar(20) default 'Cordoba',
telefono varchar(11),
mail varchar(30) default 'no tiene',
montocompra decimal (6,2)
);

21.4- Vea la información de las columnas "COLUMN_DEF" y "IS_NULLABLE":


exec sp_columns visitantes;

21.5- Ingrese algunos registros sin especificar valores para algunos campos para ver cómo
opera la cláusula "default":
insert into visitantes (nombre, domicilio, montocompra)
values ('Susana Molina','Colon 123',59.80);
insert into visitantes (nombre, edad, ciudad, mail)
values ('Marcos Torres',29,'Carlos Paz','marcostorres@hotmail.com');
select * from visitantes;

21.6- Use la palabra "default" para ingresar valores en un insert.

21.7- Ingrese un registro con "default values".

22 - Columnas calculadas (operadores aritméticos y de


concatenación)

Un comercio que vende artículos de computación registra los datos de sus artículos en
una tabla con ese nombre.
22.1- Elimine la tabla si existe:
if object_id ('articulos') is not null
drop table articulos;

22.2- Cree la tabla:


create table articulos(
codigo int identity,
nombre varchar(20),
descripcion varchar(30),
precio smallmoney,
cantidad tinyint default 0,
primary key (codigo)
);

3- Ingrese algunos registros:


insert into articulos (nombre, descripcion, precio,cantidad)
values ('impresora','Epson Stylus C45',400.80,20);
insert into articulos (nombre, descripcion, precio)
values ('impresora','Epson Stylus C85',500);
insert into articulos (nombre, descripcion, precio)
values ('monitor','Samsung 14',800);
insert into articulos (nombre, descripcion, precio,cantidad)
values ('teclado','ingles Biswal',100,50);

22.4- El comercio quiere aumentar los precios de todos sus artículos en un 15%. Actualice
todos los
Precios empleando operadores aritméticos.

22.5- Vea el resultado:


select * from articulos;

22.6- Muestre todos los artículos, concatenando el nombre y la descripción de cada uno
de ellos separados por coma.

22.7- Reste a la cantidad de todos los teclados, el valor 5, empleando el operador


aritmético menos ("-")
23 - Alias

Trabaje con la tabla "libros" de una librería.


23.1- Elimine la tabla si existe:
if object_id ('libros') is not null
drop table libros;

23.2- Cree la tabla:


create table libros(
codigo int identity,
titulo varchar(40) not null,
autor varchar(20) default 'Desconocido',
editorial varchar(20),
precio decimal(6,2),
cantidad tinyint default 0,
primary key (codigo)
);

23.3- Ingrese algunos registros:


insert into libros (titulo,autor,editorial,precio)
values('El aleph','Borges','Emece',25);
insert into libros
values('Java en 10 minutos','Mario Molina','Siglo XXI',50.40,100);
insert into libros (titulo,autor,editorial,precio,cantidad)
values('Alicia en el pais de las maravillas','Lewis Carroll','Emece',15,50);
23.4- Muestre todos los campos de los libros y un campo extra, con el encabezado "monto
total" en la que calcule el monto total en dinero de cada libro (precio por cantidad)

23.5- Muestre el título, autor y precio de todos los libros de editorial "Emece" y agregue dos
columnas extra en las cuales muestre el descuento de cada libro, con el encabezado "descuento" y
el precio con un 10% de descuento con el encabezado "precio final"
23.6- Muestre una columna con el título y el autor concatenados con el encabezado
"Título y autor"

También podría gustarte