Está en la página 1de 6

Primer Parcial

Objetivos:
Conferencia 1 y 2.Teoría
1. Identificar o definir qué es SQL.
2. Identificar o definir qué es el Lenguage de Definición de Datos (LDD)
3. Identificar o definir qué es el Lenguaje de Manipulación de Datos (LMD)
4. Identificar o definir los Tipos de Datos en MySQL
5. Conocer cuáles son los operadores de comparación
6. Identificar cuáles son los Operadores lógicos: OR, AND y NOT
7. Las sentencias DDL: Create, Drop, Alter,Truncate.
8. Conocer en que consiste una consulta y sus tres cláusulas principales. 32
9. Instrucciones especiales entre el operador y la consulta.(ANY,ALL,IN NOT
IN)56
10.Funciones de cálculo con grupo (o funciones colectivas)(COUNT,
AVG,SUM,MIN,MAX)61

Parte Practica :
1. Crear tabla empleado y departamento:
Empleado:
CREATE TABLE `cuestionario.empleado (
 id_empleado INT NOT NULL AUTO_INCREMENT ,
 nombre VARCHAR(20) NOT NULL ,
 apellidos VARCHAR(100) NOT NULL ,
 fecha_nacimiento DATE NOT NULL ,
 sexo CHAR(1) NOT NULL , 
salario FLOAT NOT NULL ,
 cargo VARCHAR(20) NOT NULL ,
telefono INT(13) NOT NULL,
 id_departamento VARCHAR(4) NOT NULL ,
 PRIMARY KEY (`id_empleado`)) 

Departamento:
CREATE TABLE cuestionario.departamento ( 
cod_departamento VARCHAR(4) NOT NULL ,
nombre_departamento VARCHAR(20) NOT NULL ,
 ubicación INT NOT NULL ,
 PRIMARY KEY (`cod_departamento`)) 

2. Modificar en la tabla departamento el tipo de dato del atributo ubicación a una


cadena de caracteres de longitud 30.
ALTER TABLE `departamento` CHANGE `ubicación` `ubicación` VA
RCHAR(30) NOT NULL;
3. Eliminar el atributo teléfono de la tabla empleados.
ALTER TABLE empleado DROP empleado.sexo

4. Insertar el atributo sexo a la tabla empleado después del atributo fecha de


nacimiento.

ALTER TABLE `empleado` ADD `sexo` CHAR(1) NOT NULL AFTE
R `fecha_nacimiento`;

5. Agregar a la tabla empleados el atributo cod_departamento el cual es una


cadena de caracteres y tiene longitud 4.
ALTER TABLE `empleado` ADD `cod_departamento` VARCHAR(4) 
NOT NULL AFTER `cargo`;
6. Cree un índice en código del departamento.
ALTER TABLE `cuestionario`.`empleado` ADD INDEX `FK_cod_dpto
` (`cod_departamento`);
7. Cree la relación entre la tabla empleado y departamento medicante el atributo
cod_departamento.
ALTER TABLE `empleado` ADD CONSTRAINT `FK_cod_dpto` FOR
EIGN KEY (`cod_departamento`) REFERENCES `departamento`(`cod_
departamento`) ON DELETE CASCADE ON UPDATE CASCADE;
11. Obtener los datos completos de los empleados.

SELECT empleado.*
FROM empleado

12. Obtener los datos completos de los departamentos

SELECT departamento.*
FROM departamento

13. Obtener los datos de los empleados con cargo 'Secretaria'.

SELECT empleado.*
FROM empleado
WHERE empleado.cargo='Secretaria'

14. Obtener el nombre y salario de los empleados.

SELECT empleado.nombre, empleado.salario


FROM empleado

15. Obtener los datos de los empleados vendedores, ordenado por nombre.

SELECT empleado.*
FROM empleado
WHERE empleado.cargo='Vendedor'
ORDER BY empleado.nombre

16. Obtener el nombre y cargo de todos los empleados, ordenado por salario más alto a
salario bajo

SELECT empleado.nombre, empleado.cargo, empleado.salario


FROM empleado
ORDER BY empleado.salario DESC

17. Listar los salarios de los empleados del departamento 2000 de forma ascendente.

SELECT empleado.salario,empleado.cod_departamento
FROM empleado
WHERE empleado.salario= 2000
ORDER BY empleado.salario ASC

18. Listar todos los empleados que trabajan en el departamento 3001. Obtener el valor
total a pagar a cada trabajador más una comisión que se le paga en navidad de 1000
dólares y ordenarlos de manera alfabético del empleado

SELECT empleado.nombre, empleado.apellidos,


empleado.salario,empleado.cod_departamento, (empleado.salario+1000) AS 'Salario+Comisión'
FROM empleado
WHERE empleado.cod_departamento= 3001
ORDER BY empleado.nombre ASC

19. Obtener el empleado que tiene mayor salario.

SELECT empleado.nombre, empleado.apellidos, MAX(empleado.salario) AS


SalarioMayor
FROM empleado
20. Listar los empleados cuyo salario este entre 1500 y 3000.

SELECT empleado.nombre, empleado.apellidos, empleado.salario


FROM empleado
WHERE empleado.salario> =1500 AND empleado.salario<= 3000

SELECT empleado.nombre, empleado.apellidos, empleado.salario


FROM empleado
WHERE empleado.salario BETWEEN 1500 AND 3000

21. Muestra los empleados cuyo nombre empiece entre las letras J.

SELECT empleado.nombre
FROM empleado
WHERE empleado.nombre like 'J%'

22. Hallar los empleados cuyo nombre contiene la cadena "MA"

SELECT empleado.nombre
FROM empleado
WHERE empleado.nombre like '%MA%'

23. Obtener los nombres de los departamentos que sean “Ventas” , “Investigación” o
'MANTENIMIENTO'.

SELECT departamento.nombre_departamento
FROM departamento
WHERE departamento.nombre_departamento IN('VENTAS',
'INVESTIGACION','MANTENIMIENTO')
24. Obtener el nombre y el departamento de los empleados con cargo 'Secretaria' o
'Vendedor', ordenados por fecha de nacimiento.

SELECT empleado.nombre, departamento.nombre_departamento,


empleado.fecha_nacimiento
FROM empleado INNER JOIN departamento ON
empleado.cod_departamento=departamento.cod_departamento
WHERE empleado.cargo='Secretaria' or empleado.cargo='Vendedor'
ORDER BY empleado.fecha_nacimiento

25. Listar los datos de los empleados cuyo nombre inicia por la letra 'M' y trabajan
para el departamento de 'VENTAS'

SELECT empleado.*, departamento.nombre_departamento


FROM empleado INNER JOIN departamento ON
empleado.cod_departamento=departamento.cod_departamento
WHERE empleado.nombre like 'M%' AND
departamento.nombre_departamento='ventas'

También podría gustarte