Prueba SQL
Enviado por Carlos Mengano • 4 de Febrero de 2024 • Apuntes • 398 Palabras (2 Páginas) • 88 Visitas
EVALUACIÓN PARA CANDIDATOS
- Dada la siguiente Base de Datos relacional:
[pic 1]
Escriba las sentencias SQL necesarias para obtener los siguientes informes:
CREATE DATABASE EMPRESA;
USE EMPRESA;
CREATE TABLE EMPLEADO (
codigo_c VARCHAR(40) NOT NULL PRIMARY KEY,
nombre VARCHAR(30),
edad INT,
oficio VARCHAR(20),
dir VARCHAR(20),
fecha_alt DATE,
salario INT,
comision INT,
depto_no INT NOT NULL,
FOREIGN KEY (depto_no) REFERENCES DEPARTAMENTO(depto_no)
) ENGINE = InnoDB;
CREATE TABLE DEPARTAMENTO (
depto_no INT NOT NULL PRIMARY KEY,
nombre_depto VARCHAR(20),
localizacion VARCHAR(20)
) ENGINE = InnoDB;
- Inserte un nuevo registro en la tabla “empleado”
INSERT INTO EMPLEADO VALUES ( "281-160483-0005G", 'Claudio Pizarro', 37, "Futbolista", "Callao", "1973-05-12" , 12000, 0, 20);
- Mostrar los nombres de departamentos con más de 3 empleados.
SELECT nombre_depto, COUNT(codigo_c) FROM EMPLEADO GROUP BY depto_no HAVING COUNT(codigo_c)>3;
- Mostrar el nombre, salario y localización donde trabajan los empleados que tengan un salario entre 13,000 y 15,000.
SELECT nombre, salario, dir FROM EMPLEADO WHERE salario>=13000 AND salario<=15000;
- Mostrar el salario promedio de los empleados por Departamento:
SELECT nombre_depto, AVG(salario) as Promedio FROM EMPLEADO a INNER JOIN DEPARTAMENTO c ON a.depto_no = c.depto_no ;
- Mostrar el nombre y el departamento al que pertenece el empleado más antiguo en la empresa:
SELECT nombre, depto_no FROM EMPLEADO WHERE fecha_alt = (SELECT MIN(fecha_alt) FROM EMPLEADO)
...