Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
);
(Cadena de caracteres titulo Alicia en el país de las maravillas, cadenas de caracteres autor
Lewis Carroll, cadena de caracteres editorial Emece, cadena de caracteres precio decimal
20.00)
INSERT INTO libros VALUES
(Cadena de caracteres titulo Alicia en el país de las maravillas, cadenas de caracteres autor
Lewis Carroll, cadena de caracteres editorial Emece, cadena de caracteres precio decimal
35.00)
(Cadena de caracteres titulo Aprenda PHP, cadenas de caracteres autor Mario Molina, cadena
de caracteres editorial Siglo XXI, cadena de caracteres precio decimal 40.00)
('El aleph','Borges','Emece',10.00);
('Ilusiones','Richard Bach','Planeta',15.00);
(Cadena de caracteres titulo Ilusiones, cadenas de caracteres autor Richard Bach, cadena de
caracteres editorial Planeta, cadena de caracteres precio decimal 15.00)
(Cadena de caracteres titulo Java en 10 minutos, cadenas de caracteres autor Mario Molina,
cadena de caracteres editorial Siglo XXI, cadena de caracteres precio decimal 50.00)
INSERT INTO libros VALUES
Cadena de caracteres titulo Martin Fierro, cadenas de caracteres autor José Hernández, cadena
de caracteres editorial Planeta, cadena de caracteres precio decimal 20.00
Cadena de caracteres titulo Martin Fierro, cadenas de caracteres autor José Hernández, cadena
de caracteres editorial Emece, cadena de caracteres precio decimal 30.00
('Uno','Richard Bach','Planeta',10.00);
Cadena de caracteres titulo Uno, cadenas de caracteres autor Richard Bach, cadena de
caracteres editorial Planeta, cadena de caracteres precio decimal 10.00
FROM libros
WHERE titulo='Uno';
-Selecciona el campo titulo, el campo precio, selecciona precio y se resta con la subconsulta
que selecciona el máximo valor del campo precio de la tabla libros y etiquétalo con el nombre
diferencia de la que pertenece de la tabla libros, cuando el campo titulo sea igualado a la
cadena de caracteres uno.
-Selecciona del campo título, del campo autor, del campo precio de la tabla libros, donde el
campo precio es igual (selecciona el precio máximo de la tabla libros).
6.- /*Actualizamos el precio del libro con máximo valor:*/
FROM libros);
-Se actualiza la tabla libros y al campo precio le vas a poner 45, donde el precio sea 45 y se
cambia siempre y cuando el precio sea el máximo.
-Eliminamos la tabla libros, donde el precio sea igual a la subconsulta cuando se selecciona el
precio mínimo de la tabla libros.
RESULTADO
2. /*Créela con los campos necesarios. Agregue una restricción "primary key" para el campo
"documento" y una "check" para validar que el campo "nota" se encuentre entre los valores 0 y
20:*/
create table alumnos
(
DNI char(8),
nombre varchar(30),
nota decimal(4,2),
PRIMARY KEY(DNI),
CONSTRAINT CK_ALUMNOS_NOTA_VALORES CHECK (nota>=0 and nota <=20),
);
(Cadena de caracteres DNI 30111111, cadena de caracteres Nombre Ana Algarbe, cadena de
caracteres Nota 15.1)
(Cadena de caracteres DNI 30333333, cadena de caracteres Nombre Carolina Conte, Cadena de
caracteres Nota 15.3)
(Cadena de caracteres DNI 30444444, cadena de caracteres Nombre Diana Dominguez, Cadena
de caracteres Nota 19.2)
(Cadena de caracteres DNI 30555555, cadena de caracteres Nombre Fabian Fuentes, Cadena
de caracteres Nota 17.5)
(Cadena de caracteres DNI 30666666, cadena de caracteres Nombre Gaston Gonzales, Cadena
de caracteres Nota 16.70)
4. /*Obtenga todos los datos de los alumnos con la nota más alta, empleando subconsulta.*/
SELECT alumnos.*
FROM alumnos
Donde el campo nota es igual a la subconsulta donde se selecciona la nota máxima de la tabla
alumnos)
5. /*Muestre los alumnos que tienen una nota menor al promedio, su nota, y la diferencia con
el promedio.*/
SELECT alumnos.*,
FROM alumnos
Selecciona la subconsulta que se obtiene del promedio del campo nota y a esto le resto nota y
lo etiqueto con el nombre Diferencia
6. /*Cambie la nota del alumno que tiene la menor nota por 14.*/
Se actualiza la tabla alumnos y al campo nota se le coloca el valor de 14, donde la nota sea 14 y
se cambia siempre y cuando la nota sea minima
(
numero int NOT NULL,
fecha datetime,
codigocliente int NOT NULL,
PRIMARY KEY(numero),
CONSTRAINT FK_facturas_cliente
FOREIGN KEY (codigocliente)
REFERENCES clientes(codigo)
ON UPDATE CASCADE
);
Insertar en la tabla clientes los valores (cadena de caracteres nombre Juan Lopez, cadena de
caracteres dirección Colon 123)
Insertar en la tabla clientes los valores (cadena de caracteres nombre Luis Torres, cadena de
caracteres dirección Sucre 987)
Insertar en la tabla clientes los valores (cadena de caracteres nombre Ana Garcia, cadena de
caracteres dirección Sarmiento 576)
Insertar en la tabla facturas los valores (cadena de caracteres numero 1200, cadena de
caracteres fecha 2007-01-15, cadena de caracteres codigo1 )
Insertar en la tabla facturas los valores (cadena de caracteres numero 1201, cadena de
caracteres fecha 2007-01-15, cadena de caracteres código 2)
Insertar en la tabla facturas los valores (cadena de caracteres numero 1202, cadena de
caracteres fecha 2007-01-15, cadena de caracteres código 3)
Insertar en la tabla facturas los valores (cadena de caracteres numero 1300, cadena de
caracteres fecha 2007-01-20, cadena de caracteres codigo1 )
INSERT INTO detalles VALUES (1200,1,'lapiz',1,100);
INSERT INTO detalles VALUES (1200,2,'goma',0.5,150);
INSERT INTO detalles VALUES (1201,1,'regla',1.5,80);
INSERT INTO detalles VALUES (1201,2,'goma',0.5,200);
INSERT INTO detalles VALUES (1201,3,'cuaderno',4,90);
INSERT INTO detalles VALUES (1202,1,'lapiz',1,200);
INSERT INTO detalles VALUES (1202,2,'escuadra',2,100);
INSERT INTO detalles VALUES (1300,1,'lapiz',1,300);
Insertar en la tabla facturas los valores (cadena de caracteres numero 1200, cadena de
caracteres código 1, cadena de caracteres articulo lápiz, cadena de caracteres precio 1, cadena
de caracteres cantidad 100)
Insertar en la tabla facturas los valores (cadena de caracteres numero 1200, cadena de
caracteres código 2, cadena de caracteres articulo goma, cadena de caracteres precio 0.5,
cadena de caracteres cantidad 150)
Insertar en la tabla facturas los valores (cadena de caracteres numero 1201, cadena de
caracteres código 1, cadena de caracteres articulo regla, cadena de caracteres precio 1.5,
cadena de caracteres cantidad 80)
Insertar en la tabla facturas los valores (cadena de caracteres numero 1201, cadena de
caracteres código 2, cadena de caracteres articulo goma, cadena de caracteres precio 0.5,
cadena de caracteres cantidad 200)
Insertar en la tabla facturas los valores (cadena de caracteres numero 1201, cadena de
caracteres código 3, cadena de caracteres articulo cuaderno, cadena de caracteres precio 4,
cadena de caracteres cantidad 90)
Insertar en la tabla facturas los valores (cadena de caracteres numero 1202, cadena de
caracteres código 1, cadena de caracteres articulo lápiz, cadena de caracteres precio 1, cadena
de caracteres cantidad 200)
Insertar en la tabla facturas los valores (cadena de caracteres numero 1200, cadena de
caracteres código 2, cadena de caracteres articulo escuadra, cadena de caracteres precio 2,
cadena de caracteres cantidad 100)
Insertar en la tabla facturas los valores (cadena de caracteres numero 1300, cadena de
caracteres código 1, cadena de caracteres articulo lápiz, cadena de caracteres precio 1, cadena
de caracteres cantidad 300)
Vamos a realizar un "select" para recuperar el número de factura, el código de cliente, la fecha
y la suma total de todas las facturas:
Seleccionamos todos los campos de la tabla f seleccionamos la suma del producto de precio de
la tabla detalles y la cantidad, donde numero de la tabla facturas es igual al numerofactura de
la tabla detalles y a todo esto lo etiquetamos con el nombre total.
Esta consulta contiene una subconsulta correlacionada.
Ahora utilizaremos el resultado de la consulta anterior como una tabla derivada que
emplearemos en lugar de una tabla para realizar un "join" y recuperar el número de factura, el
nombre del cliente y el monto total por factura:
SELECT td.numero,c.nombre,td.total
FROM clientes as c
JOIN (select f.*,(SELECT sum(d.precio*cantidad)
FROM detalles as d
WHERE f.numero=d.numerofactura) AS total
From facturas as f) AS td
ON td.codigocliente=c.codigo;
Trabajamos con las tablas "libros" y "editoriales" de una librería. Eliminamos las tablas si
existen y las creamos:
Insertamos en la tabla editoriales los siguientes valores, (cadena de caracteres editorial EMECE
Insertamos dentro de la tabla Libros los siguientes valores, (cadena de caracteres titulo Uno,
cadena de caracteres autor Richard Bach, cadena de caracteres codigoeditorial 1, cadena de
caracteres precio 15)
Insertamos dentro de la tabla Libros los siguientes valores, (cadena de caracteres titulo
Ilusiones, cadena de caracteres autor Richard Bach, cadena de caracteres codigoeditorial 2,
cadena de caracteres precio 20)
Insertamos dentro de la tabla Libros los siguientes valores, (cadena de caracteres titulo
Aprenda PHP, cadena de caracteres autor Mario Molina, cadena de caracteres codigoeditorial
4, cadena de caracteres precio 40)
Insertamos dentro de la tabla Libros los siguientes valores, (cadena de caracteres titulo
Poemas, cadena de caracteres autor Juan Perez, cadena de caracteres codigoeditorial 1, cadena
de caracteres precio 20)
Insertamos dentro de la tabla Libros los siguientes valores, (cadena de caracteres titulo
Cuentos, cadena de caracteres autor Juan Perez, cadena de caracteres codigoeditorial 3,
cadena de caracteres precio 25)
Actualizamos la tabla libros en el campo precio el cual es igual al precio mas el precio por el
10%
Eliminamos todos los libros de las editoriales que tienen publicados libros de "Juan Perez":
(
numero int identity,
documento char(8),
nombre varchar(30),
domicilio varchar(30),
primary key (numero)
);
Se inserta en la tabla socios los siguientes valores (cadena de caracteres numero 23333333,
cadena de caracteres nombre Alberto Paredes, cadena de caracteres dirección Colon 111)
Se inserta en la tabla socios los siguientes valores (cadena de caracteres numero 24444444,
cadena de caracteres nombre Carlos Conte, cadena de caracteres dirección Sarmiento 755)
Se inserta en la tabla socios los siguientes valores (cadena de caracteres numero 25555555,
cadena de caracteres nombre Fabian Fuentes, cadena de caracteres dirección Caseros 987)
Se inserta en la tabla socios los siguientes valores (cadena de caracteres numero 26666666,
cadena de caracteres nombre Hector Lopez, cadena de caracteres dirección Sucre 344)
5. Elimine todas las inscripciones de los socios que deben alguna matrícula.
Un profesor almacena las notas de sus alumnos en una tabla llamada alumnos" (documento,
nombre, nota). Tiene otra tabla llamada "aprobados" (documento,nota) en la que guarda los
alumnos que han aprobado el ciclo.
nombre varchar(30),
nota decimal(4,2)
primary key(documento), );
Tenemos la restricción de rango en alumnos nota valores que nos dice si la nota es mayor o
igual a 0 y menor o igual a 10
nota decimal(4,2)
primary key(documento), );
Tenemos la restricción en aprobados nota valores de rango donde la nota es mayor o igual a 0 y
menor o igual a 10
Insertamos dentro de la tabla alumno los siguientes valores, (cadena de caracteres documento
30000000, cadena de caracteres nombre Ana Costa, cadena de caracteres nota 8)
Insertamos dentro de la tabla alumno los siguientes valores, (cadena de caracteres documento
30111111, cadena de caracteres nombre Betina Bustos, cadena de caracteres nota 9)
Insertamos dentro de la tabla alumno los siguientes valores, (cadena de caracteres documento
30333333, cadena de caracteres nombre Daniel Duarte, cadena de caracteres nota 7.7)
Insertamos dentro de la tabla alumno los siguientes valores, (cadena de caracteres documento
30444444, cadena de caracteres nombre Estela Esper, cadena de caracteres nota 3.4)
SELECT documento,nota
FROM alumnos
WHERE nota>=4;
Note que no se listan los campos en los cuales se cargan los datos porque tienen el mismo
nombre que los de la tabla de la cual extraemos la información. Veamos si los registros se han
cargado: