Practica3 PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

I.S.T.P.

Francisco de Paula Gonzles Vigl


Computacin e Informtica UD: Adm. de Bases de Datos
Practica N 03 SQL (DML)

OBJETIVOS: En la presente prctica aprenderemos a manipular la informacin de una Base de Datos en


Microsoft SQL Server, usando los comandos Insert, Delete y Select
1. COPIAR FILAS DE OTRAS TABLAS
El comando INSERT tambin puede utilizarse para recuperar datos de otras tablas. Se hace en una sola
sentencia SQL. Un comando SELECT reemplaza a la clusula VALUES, que se evala antes que la
operacin INSERT.
a) Copiar los registros de la tabla Empleado a la tabla Empleado2
INSERT INTO EMPLEADO2 (CODEMP, NOMEMP, APEEMP, DNIEMP, SEXEMP, DIREMP, TELFEMP)
SELECT CODEMP, NOMEMP, APEEMP, DNIEMP, SEXEMP, DIREMP, TELFEMP FROM EMPLEADO

b) Completar los datos en las columnas vacas en la tabla Empleado2


UPDATE EMPLEADO2 SET SUELDO=1200, EST_CIVIL='SOLTERO', NRO_HIJOS=0 WHERE CODEMP='E001'
UPDATE EMPLEADO2 SET SUELDO=2000, EST_CIVIL='CASADO', NRO_HIJOS=2 WHERE CODEMP='E002'
UPDATE EMPLEADO2 SET SUELDO=3200, EST_CIVIL='VIUDO', NRO_HIJOS=5 WHERE CODEMP='E003'
UPDATE EMPLEADO2 SET SUELDO=1000, EST_CIVIL='SOLTERO', NRO_HIJOS=0 WHERE CODEMP='E004'
UPDATE EMPLEADO2 SET SUELDO=800, EST_CIVIL='DIVORCIADO', NRO_HIJOS=3 WHERE CODEMP='E005'
UPDATE EMPLEADO2 SET SUELDO=2200, EST_CIVIL='SOLTERO', NRO_HIJOS=1 WHERE CODEMP='E006'

2. COMANDO DELETE
Para borrar un registro usamos la instruccin Delete, especificando cual o cuales son los registros que
deseamos borrar, seleccionndolos mediante la clusula Where.
Sintaxis:
DELETE FROM NOMBRE_TABLA WHERE CONDICIONES_DE_SELECCIN
Hay que tener cuidado con esta instruccin ya que si no especificamos una condicin con Where, lo
que estamos haciendo es borrar todos los registros de la tabla
Si intentamos borrar un registro de una tabla referenciada por una FOREING KEY como tabla maestra
y la tabla dependiente tiene registros relacionados, la sentencia DELETE fallar

EJEMPLOS
a) Borrar en la tabla Artculo, el registro cuyo cdigo sea: A006
Delete From Articulo Where codart = 'A006'
b) En la tabla Empleado2, borrar los registros cuyo Nombre sea Luz
Delete From Empleado2 Where nomemp = 'Luz'
c) En la tabla Empleado, borrar los registros cuyo Sueldo Bsico sea igual o mayor a 1200 y sean mujeres
Delete From Empleado2 Where Sueldo >= 1200 AND SexEmp = 'F'
d) Eliminar los clientes que no hayan recibido Factura
DELETE cliente WHERE codcli NOT IN(select codcli FROM Factura)

TAREA 1:
1. Borrar artculos cuyo proveedor sea: Pro01
2. Eliminar las facturas registradas por el empleado E001
3. Borrar Detalles de Factura cuyo artculo sea A002
4. Eliminar el Cliente con cdigo: C002

3. CONSULTAS DE SELECCIN - SELECT


SELECT [DISTINCT] <Columnas Elegidas> FROM <Nombre de Tablas>
[WHERE] <Criterios para seleccionar filas>
[ORDER BY] <Columnas por la que debe ordenarse> [DESC]
[GROUP BY] <Columnas para agrupar para alguna funcin agregada>
[HAVING] <Criterios que deben cumplirse para las funciones agregadas>

Mgr. David Caipa M. 18/09/17 Pg. 1


I.S.T.P. Francisco de Paula Gonzles Vigl
Computacin e Informtica UD: Adm. de Bases de Datos
Con la Sentencia WHERE puede utilizarse las sentencias:
BETWEEN para indicar los lmites de un rango de datos.
IN para indicar un conjunto de pertenencia.
LIKE para indicar cierta correspondencia con su patrn de texto usando comodines: % para un conjunto
de caracteres y _ para un caracter. NOT LIKE se usa para los valores que no coincidan con el patrn.
Las Funciones agregadas son:
AVG <Columna>: Calcula el promedio de la columna.
COUNT <Columna>: Cuenta el nmero de valores de la columna.
COUNT(*) : Cuenta las filas resultado de las consultas.
MAX <Columna>: Halla el mximo valor de la columna.
MIN <Columna>: Halla el mnimo valor de la columna.
SUM <Columna>: Halla la suma total de la columna.
Debe usarse los operadores lgicos:
AND: Para indicar condiciones que se cumplen simultneamente.
OR: Para indicar que basta que se cumpla una de las condiciones dadas.
NOT: Para negar al condicin (Las condiciones) dada(s).

4. CONSULTAS DE SELECCIN VERTICALES


a) Abrir el analizador de consultas y escribir la consulta. Verificar que la BD activa sea: TIENDA
SELECT * FROM EMPLEADO
Ejecutar la consulta y describa el resultado.
b) En el analizador de consultas escribir.
SELECT * FROM CARGO
Ejecutar la consulta y describa el resultado.
c) Seleccionar registros de la tabla Empleado usando Alias, ordenados ascendentemente por Apellidos
SELECT NOMEMP AS NOMBRE, APEEMP AS APELLIDOS, DIREMP AS DIRECCIN FROM
EMPLEADO ORDER BY APEEMP
Ejecutar la consulta y describa el resultado.
d) Mostrar la cantidad de clientes registrados
SELECT COUNT (*) FROM CLIENTE
Ejecutar la consulta y describa el resultado.
e) Mostrar la cantidad de clientes registrados que tiene Telfono
SELECT COUNT (TELCLI) FROM CLIENTE
Ejecutar la consulta y describa el resultado.
f) Visualizar el Total pagado en Facturas
SELECT SUM (TOTFAC) FROM FACTURA
Ejecutar la consulta y describa el resultado.
g) Visualizar el Artculo con mayor precio unitario
SELECT MAX (PUART) FORM ARTICULO
h) Visualizar el Artculo con mayor precio unitario
SELECT MIN (PUART) FORM ARTICULO
i) Ordenar los registros de la tabla por ms de un campo
SELECT NOMCLI AS [NOMBRE CLIENTE], RUCCLI AS [N RUC], TELCLI AS TELFONO FROM
CLIENTE ORDER BY NOMCLI, RUCCLI
j) Listar los registros de la tabla Artculo, ordenados a travs del campo PUART de mayor a menor y del
Nombre de manera descendente
SELECT NOMART, PUART FROM ARTICULO ORDER BY PUART DESC, NOMART ASC
En el ordenamiento, el predicado se incluye entre la clusula y el primer nombre del campo a recuperar,
los posibles predicados son:
Predicado Descripcin
ALL Devuelve todos los campos de la tabla
TOP Devuelve un determinado nmero de registros de la tabla
DISTINCT Omite los registros cuyos campos seleccionados coincidan totalmente
DISTINCROW Omite los registros duplicados basndose en la totalidad del registro y no slo en los campos seleccionados.

Mgr. David Caipa M. 18/09/17 Pg. 2


I.S.T.P. Francisco de Paula Gonzles Vigl
Computacin e Informtica UD: Adm. de Bases de Datos
k) Mostrar los 04 primeros registros de la tabla Empleado, ordenados descendentemente por Apellidos
SELECT TOP 4 NOMEMP, APEEMP FROM EMPLEADO ORDER BY APEEMP DESC
l) Similar a la consulta anterior, pero mostrando el porcentaje que representa los registros visualizados.
SELECT TOP 4 PERCENT NOMEMP, APEEMP FROM EMPLEADO ORDER BY APEEMP DESC

5. CONSULTAS DE SELECCIN CONDICIONADAS


a) Mostrar todos los campos de los empleados de Sexo Femenino
SELECT * FROM EMPLEADO WHERE SEXEMP=F
b) Seleccionar los artculos cuyo precio unitario est contenido entre el rango 30 y 100
SELECT CODART AS CODIGO, NOMART AS 'NOMBRE DE ARTICULO', PUART PRECIO UNIT
FROM ARTICULO WHERE PUART >= 30 AND PUART <= 100
c) La misma consulta, usando la clusula Between (entre)
SELECT CODART AS CODIGO, NOMART AS 'NOMBRE DE ARTICULO', PUART PRECIO UNIT
FROM ARTICULO WHERE PUART BETWEEN 30 AND 100
d) Visualizar clientes con nombres comprendido entre las letras H y P
SELECT CODCLI AS 'CODIGO DE CLIENTE', NOMCLI AS 'NOMBRE DE CLIENTE' FROM
CLIENTE WHERE NOMCLI BETWEEN 'H' AND 'P'
e) Obtener las Facturas cuya fecha sea del ao 2017 y cuyo monto Total se encuentre entre 50 y 100,
ordenados por Total de venta
SELECT * FROM FACTURA WHERE YEAR (FECHFAC)=2017 AND SUBTOT BETWEEN 100 AND
600 ORDER BY SUBTOT
f) Utilizando el operador OR podemos buscar un cliente cuyo cdigo dudamos si es CL002 o CL004
SELECT NOMCLI, CODCLI FROM CLIENTE WHERE CODCLI = C002 OR CODCLI = C004
g) Seleccionar a todos los clientes que contengan la letra "L" dentro de su nombre
SELECT CODCLI AS 'CODIGO DE CLIENTE', NOMCLI AS 'NOMBRE DE CLIENTE' FROM CLIENTE
WHERE NOMCLI LIKE '%L%'
h) Obtener todos los clientes cuyo nombre comience con la letra L
SELECT * FROM CLIENTE WHERE NOMCLI LIKE L%
i) Obtener un listado de todos los empleados con edad menor a 25 aos de edad ordenados por la fecha
de nacimiento en modo descendente
SELECT NOMEMP, APEEMP, EDAD=(YEAR (GETDATE ( )) - YEAR (FENAEMP))
FROM EMPLEADO
WHERE (YEAR (GETDATE ( )) - YEAR (FENAEMP)) < 25 ORDER BY FENAEMP DESC
j) Lista de empleados con edad mayor a 20 aos, ordenados de menor a mayor por la fecha de
nacimiento.
SELECT * FROM EMPLEADO
WHERE (YEAR (GETDATE ( )) - YEAR (FENAEMP)) >20 ORDER BY FENAEMP
k) Obtener las Facturas cuya fecha sea del ao 2017 y cuyo SubTotal se encuentre entre 50 y 500,
ordenados por SubTotal de venta.
SELECT * FROM FACTURA
WHERE YEAR (FECHFAC)=2017 AND SUBTOT BETWEEN 50 AND 500 ORDER BY SUBTOT

6. CONSULTAS DE SELECCIN DE UNA O MS TABLAS


a) Mostrar todos los empleados cuyo cargo sea Secretaria
SELECT EMPLEADO.NOMEMP, EMPLEADO.APEEMP, CARGO.DESCAR
FROM EMPLEADO, CARGO
WHERE EMPLEADO.CODCAR=CARGO.CODCAR AND CARGO.DESCAR='Secretaria'
b) El mismo ejemplo usando Alias
SELECT E.NOMEMP, E.APEEMP, C.DESCAR FROM EMPLEADO E, CARGO C
WHERE E.CODCAR=C.CODCAR AND C.DESCAR='Secretaria'

Mgr. David Caipa M. 18/09/17 Pg. 3


I.S.T.P. Francisco de Paula Gonzles Vigl
Computacin e Informtica UD: Adm. de Bases de Datos
c) Obtener un Listado de Clientes que pertenezcan a las Ciudades de Tacna, Lima, Arequipa o Ica
SELECT P.NOMPROVEEDOR, C.NOMCIUDAD FROM PROVEEDOR P, CIUDAD C
WHERE P.CODCIUDAD=C.CODCIUDAD AND C.NOMCIUDAD IN ('TACNA', 'LIMA', 'AREQUIPA',
'ICA') ORDER BY C.NOMCIUDAD
d) Empleados que registraron Facturas de Venta de Artculos provenientes de la ciudad de Tacna
SELECT E.NOMEMP, E.APEEMP, F.NROFAC, A.NOMART, P.NOMPROVEEDOR, C.NOMCIUDAD
FROM EMPLEADO E, FACTURA F, DETALLE_FACTURA DF, ARTICULO A, PROVEEDOR P,
CIUDAD C
WHERE E.CODEMP=F.CODEMP AND F.NROFAC=DF.NROFAC AND DF.CODART=A.CODART
AND A.CODPROVEEDOR=P.CODPROVEEDOR AND P.CODCIUDAD=C.CODCIUDAD AND
C.NOMCIUDAD='TACNA'
e) Artculos con Precio Unitario entre 50 y 100, vendidos por empleados con cargo Vendedor
SELECT A.NOMART, A.PUART, F.NROFAC, E.NOMEMP, E.APEEMP, CA.DESCAR
FROM ARTCULO A, FACTURA F, DETALLE_FACTURA DF, EMPLEADO E, CARGO CA
WHERE CA.CODCAR=E.CODCAR AND E.CODEMP=F.CODEMP AND F.NROFAC=DF.NROFAC
AND DF.CODART=A.CODART AND CA.DESCAR='VENDEDOR'
f) Cantidad de empleados agrupados por sexo
SELECT SEXEMP, CANTIDAD=COUNT (SEXEMP) FROM EMPLEADO GROUP BY SEXEMP
g) Suma de Sub Totales de Factura, agrupados por cliente
SELECT SUM (SUBTOT),CODCLI FROM FACTURA GROUP BY CODCLI
h) Grupos de proveedores por ciudad
SELECT CODCIUDAD, COUNT (CODPROVEEDOR) FROM PROVEEDOR
GROUP BY CODCIUDAD

TAREA 2: Realizar las siguientes consultas


1. Utilizando el operador OR, buscar clientes cuyos cdigo sean C002 o CL004
2. Mostrar la cantidad Total de Clientes
3. Monto Total de ventas en Boletas, alcanzada en los meses del presente ao
4. Total de ventas en Facturas, agrupadas por cdigo de Empleado
5. Venta total mxima en Boletas, durante los meses de julio, agosto y setiembre
6. Venta total mnima en Factura, en ao 2017
7. Mostrar el mnimo, mximo, promedio del precio unitario y cantidad de artculos existentes en la tabla
Artculos
8. En la tabla Empleado2, agregar el campo: Fecha de Ingreso. Completar datos a ste campo, usando
UPDATE
9. Listar los Empleados cuyo tiempo de servicio sea mayor a 5 aos
10. Mostrar los Empleados mujeres que cumplan 3 aos de servicio en agosto del presente ao
11. En la tabla Empleado2, seleccionar los que tengan un sueldo entre 500 y 1000 soles o que el sexo sea F
12. Seleccionar el empleado con ms bajo sueldo, en la tabla empleado2
13. Determinar el total pagado a todos los empleados, en la tabla empleado2
14. Mostrar los clientes que recibieron Factura de venta el da 02 03 de junio del 2017
15. Listar los nombres de artculos vendidos en Boletas de ventas
16. Cantidad de artculos cuyo nombre inicia con M, vendidos en el mes de julio-2017

Mgr. David Caipa M. 18/09/17 Pg. 4


I.S.T.P. Francisco de Paula Gonzles Vigl
Computacin e Informtica UD: Adm. de Bases de Datos
17. Precio unitario promedio al que se est vendiendo los artculos, en boletas y facturas
18. Monto total de dinero gastado en Facturas por cada uno de los clientes
19. Nmero total de ventas realizadas en Boletas, agrupadas por cdigo de cliente
20. Recuperar los nombres y apellidos de los 3 primeros Empleados
21. Listar los Empleados cuyo cargo sea Vendedor
22. Proveedores de la ciudad de Tacna, ordenados por Nombre de Proveedor.
23. Artculos con Stock menor a 10 unidades.
24. Artculos con PU entre 3 y 20 soles
25. Empleados mujeres cuyo apellido inicie con las letras R o F.
26. Facturas con total superior a 20 soles y que se hayan registrado entre el 01/06/16 al 30/06/16
27. Clientes que recibieron Boleta de Venta agrupados por Cdigo de Empleado
28. Cuantas Facturas ha emitido cada empleado.
29. Cuantas Boletas ha emitido cada Vendedor en el mes de Junio
30. Cul es el artculo ms caro
31. Cuantos Empleados No tienen Telfono
32. Ventas realizadas en Boletas por la empleada Luz en el mes de julio 2016
33. Nombre de Empleados y Fecha de facturacin para las ventas realizadas en el mes de julio del 2016.
34. Cambiar el actual N DNI, por: 69696969, del Empleado Keiko Flores Tisnado
35. Incrementar el sueldo a todos los Empleados, en 10%.
36. Incrementar el sueldo a los Empleados, de sexo femenino en 20%
37. Incrementar el sueldo bsico a los Empleados, con edad mayor a 30 aos

Mgr. David Caipa M. 18/09/17 Pg. 5

También podría gustarte