0% encontró este documento útil (0 votos)
57 vistas9 páginas

Consultas SQL

El documento describe la creación de una base de datos llamada msql1 con tablas Emple y depart. Se insertan registros en las tablas con datos de empleados como número, apellido, puesto, fecha de contratación, salario, comisión y número de departamento. También se insertan registros en la tabla depart con número, nombre y ubicación de los departamentos.

Cargado por

Jose Guerra
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
57 vistas9 páginas

Consultas SQL

El documento describe la creación de una base de datos llamada msql1 con tablas Emple y depart. Se insertan registros en las tablas con datos de empleados como número, apellido, puesto, fecha de contratación, salario, comisión y número de departamento. También se insertan registros en la tabla depart con número, nombre y ubicación de los departamentos.

Cargado por

Jose Guerra
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Código utilizado para la creación de la base de datos

CREATE DATABASE msql1

USE msql1

CREATE TABLE Emple (emp_no INT PRIMARY KEY, apellido VARCHAR(50) NOT NULL, oficio
VARCHAR(30), dir INT, fecha_alt DATE, salario INT, comision INT, dept_no INT);

CREATE TABLE depart (dept_no INT, dnombre VARCHAR(30), loc VARCHAR(30));

INSERT INTO Emple (emp_no,apellido,oficio,dir,fecha_alt,salario,comision,dept_no) VALUES


(7369,'SÁNCHEZ','EMPLEADO',7902,'1990/12/17',1040,NULL,20);

INSERT INTO Emple (emp_no,apellido,oficio,dir,fecha_alt,salario,comision,dept_no) VALUES


(7499,'ARROYO','VENDEDOR',7698,'1990/02/20',1500,390,30);

INSERT INTO Emple (emp_no,apellido,oficio,dir,fecha_alt,salario,comision,dept_no) VALUES


(7521,'SALA','VENDEDOR',7698,'1991/02/22',1625,650,30);

INSERT INTO Emple (emp_no,apellido,oficio,dir,fecha_alt,salario,comision,dept_no) VALUES


(7566,'JIMÉNEZ','DIRECTOR',7839,'1991/04/02',2900,NULL,20);

INSERT INTO Emple (emp_no,apellido,oficio,dir,fecha_alt,salario,comision,dept_no) VALUES


(7654,'MARTÍN','VENDEDOR',7698,'1991/09/29',1600,1020,30);

INSERT INTO Emple (emp_no,apellido,oficio,dir,fecha_alt,salario,comision,dept_no) VALUES


(7698,'NEGRO','DIRECTOR',7839,'1991/05/01',3005,NULL,30);

INSERT INTO Emple (emp_no,apellido,oficio,dir,fecha_alt,salario,comision,dept_no) VALUES


(7782,'CEREZO','DIRECTOR',7839,'1991/06/09',2885,NULL,10);

INSERT INTO Emple (emp_no,apellido,oficio,dir,fecha_alt,salario,comision,dept_no) VALUES


(7788,'GIL','ANALISTA',7566,'1991/11/09',3000,NULL,20);

INSERT INTO Emple (emp_no,apellido,oficio,dir,fecha_alt,salario,comision,dept_no) VALUES


(7839,'REY','PRESIDENTE',NULL,'1991/11/17',4100,NULL,10);

INSERT INTO Emple (emp_no,apellido,oficio,dir,fecha_alt,salario,comision,dept_no) VALUES


(7844,'TOVAR','VENDEDOR',7698,'1991/09/08',1350,0,30);

INSERT INTO Emple (emp_no,apellido,oficio,dir,fecha_alt,salario,comision,dept_no) VALUES


(7876,'ALONSO','EMPLEADO',7788,'1991/09/23',1430,NULL,20);

INSERT INTO Emple (emp_no,apellido,oficio,dir,fecha_alt,salario,comision,dept_no) VALUES


(7900,'JIMENO','EMPLEADO',7698,'1991/12/03',1335,NULL,30);

INSERT INTO Emple (emp_no,apellido,oficio,dir,fecha_alt,salario,comision,dept_no) VALUES


(7902,'FERNÁNDEZ','ANALISTA',7566,'1991/12/03',3000,NULL,20);
INSERT INTO Emple (emp_no,apellido,oficio,dir,fecha_alt,salario,comision,dept_no) VALUES
(7934,'MUÑOZ','EMPLEADO',7782,'1992/01/23',1690,NULL,10);

INSERT INTO depart (dept_no,dnombre,loc) VALUES (10,'CONTABILIDAD','SEVILLA');

INSERT INTO depart (dept_no,dnombre,loc) VALUES (20,'INVESTIGACIÓN','MADRID');

INSERT INTO depart (dept_no,dnombre,loc) VALUES (30,'VENTAS','BARCELONA');

INSERT INTO depart (dept_no,dnombre,loc) VALUES (40,'PRODUCCIÓN','BILBAO');


14. Seleccionar de la tabla EMPLE los empleados cuyo apellido empiece por ‘A’.
SELECT *
FROM dbo.Emple
WHERE apellido LIKE 'A%'

15. Seleccionar de la tabla EMPLE los empleados cuyo apellido termine por ‘Z’.
SELECT *
FROM dbo.Emple
WHERE apellido LIKE '%Z'
16. Seleccionar de la tabla EMPLE aquellas filas cuyo APELLIDO empiece por ‘A’ y el OFICIO tenga
una ‘E’ en cualquier posición.
SELECT *
FROM dbo.Emple
WHERE apellido LIKE 'A%' AND oficio LIKE '%E%'

17. Seleccionar los empleados cuyo salario esté entre 1000 y 2000. Utilizar el operador BETWEEN.
SELECT *
FROM dbo.Emple
WHERE salario BETWEEN 1000 AND 2000
18. Obtener los empleados cuyo oficio sea ‘VENDEDOR’ y tengan una comisión superior a 1000.
SELECT *
FROM dbo.Emple
WHERE oficio = 'VENDEDOR' AND comision > 1000

19. Seleccionar los datos de los empleados ordenados por número de departamento, y dentro de
cada departamento ordenados por apellido.
SELECT *
FROM dbo.Emple
ORDER BY dept_no, apellido asc
20. Número y apellidos de los empleados cuyo apellido termine por ‘Z’ y tengan un salario superior
a 3000.
SELECT emp_no, apellido
FROM dbo.Emple
WHERE apellido LIKE '%Z' AND salario > 3000

21. Datos de los departamentos cuya localización empiece por ‘B’.


SELECT *
FROM dbo.depart
WHERE loc LIKE 'B%'
22. Datos de los empleados cuyo oficio sea ‘EMPLEADO’, tengan un salario superior a 1000 y
pertenezcan al departamento número 10.
SELECT *
FROM dbo.Emple
WHERE oficio = 'EMPLEADO' AND salario > 1000 AND dept_no = '10'

23. Mostrar los apellidos de los empleados que no tengan comisión.


SELECT apellido
FROM dbo.Emple
WHERE comision IS NULL
24. Mostrar los apellidos de los empleados que no tengan comisión y cuyo apellido empiece por
‘J’.
SELECT apellido
FROM dbo.Emple
WHERE comision IS NULL AND apellido LIKE 'J%'

25. Mostrar los apellidos de los empleados cuyo oficio sea VENDEDOR’, ‘ANALISTA’ o ‘EMPLEADO’.
SELECT apellido
FROM dbo.Emple
WHERE (oficio = 'VENDEDOR') OR (oficio = 'ANALISTA') OR (oficio = 'EMPLEADO')
26. Mostrar los apellidos de los empleados cuyo oficio no sea ni ‘ANALISTA’ ni ‘EMPLEADO’, y
además tengan un salario mayor de 2000.
SELECT apellido
FROM dbo.Emple
WHERE oficio <> 'ANALISTA'
AND oficio <> 'EMPLEADO'
AND salario > 2000

También podría gustarte