Ejercicios de sql con respuesta

Solo disponible en BuenasTareas
  • Páginas : 14 (3266 palabras )
  • Descarga(s) : 0
  • Publicado : 3 de marzo de 2011
Leer documento completo
Vista previa del texto
EJERCICIO DE EJEMPLO
SELECT apellido FROM emple
WHERE dept_no =
(SELECT dept_no FROM emple WHERE apellido = 'GIL')
AND oficio
(SELECT oficio FROM emple WHERE apellido = 'GIL')

Práctica SQL
1. Mostrar los datos de los empleados que pertenezcan al mismo departamento que 'GIL'.

SELECT * FROM `emple` WHERE dept_no= (SELECT dept_no FROM `emple` WHERE apellido ='Gil')

2. Mostrarlos datos de los empleados que tengan el mismo oficio que 'CEREZO'. El resultado debe ir ordenado por apellido.

SELECT * FROM `emple` WHERE oficio=(SELECT oficio FROM emple WHERE apellido = 'Cerezo') ORDER BY apellido

3. Mostrar los empleados (nombre, oficio, salario y fecha de alta) que desempeñen el mismo oficio que 'JIMÉNEZ'
o que tengan un salario mayor o igual que 'FERNÁNDEZ'.SELECT apellido, oficio, salario, fecha_alt FROM `emple`
WHERE oficio=
(SELECT oficio FROM emple WHERE apellido = 'Jimenez')
OR salario>=
(SELECT salario FROM emple WHERE apellido= 'Fernandez')

4. Mostrar en pantalla el apellido, oficio y salario de los empleados del departamento de 'FERNÁNDEZ'
que tengan su mismo salario.

SELECT apellido, oficio, salarioFROM `emple`
WHERE dept_no =
(SELECT dept_no FROM emple WHERE apellido = 'Fernandez')
AND salario =
(SELECT salario FROM emple WHERE apellido = 'Fernandez')

5. Mostrar los datos de los empleados que tengan un salario mayor que 'GIL' y que pertenezcan al departamento número 10.

SELECT * FROM `emple` WHERE salario >
(SELECT salario FROM emple WHERE apellido ='Gil')
AND dept_no=10

6. Mostrar el apellido, salario y nombre del departamento de los empleados que tengan el mismo oficio que 'GIL'.

SELECT apellido, salario, dnombre, oficio FROM emple, depart WHERE oficio =
(SELECT oficio FROM emple WHERE apellido = 'Gil') GROUP BY (apellido)

7. Mostrar el apellido, salario y nombre del departamento de los empleados que tengan el mismooficio que 'GIL' y que no tengan comisión.

SELECT apellido, salario, dnombre FROM emple e INNER JOIN depart d ON (d.dept_no=e.dept_no)
WHERE oficio=
(SELECT oficio FROM emple WHERE apellido='Gil')
AND comicion is null

8. Mostrar los datos de los empleados cuyo salario sea mayor que la media de todos los salarios.

SELECT * FROM `emple` WHERE salario >
(SELECTAVG(salario) FROM emple WHERE 1)

9. Seleccionar el apellido del empleado que tiene máximo salario.
10. Mostrar los apellidos del empleado que tiene el salario más bajo.

SELECT apellido FROM emple WHERE salario=(SELECT MIN (salario) FROM emple)

11. Mostrar los datos del empleado que tiene el salario más alto en el departamento de 'VENTAS'.

SELECT apellido FROM emple WHEREsalario=(SELECT MAX(salario)
FROM emple e iNNER JOIN depart d ON (e.dept_no=d.dept) WHERE dnombre ='VENTA')

12. Mostrar los departamentos cuya salario promedio sea mayor que la media de los salarios de todos los empleados.

SELECT dnombre, AVG (salario) FROM emple AS e INNER JOIN depart AS d ON (e.dept_no=d.dept_no)
GROUP BY dnombre HAVING AVG(salario) >=
(SELECT AVG(salario) FROMemple)

1. Obtener el código, el tipo, el color y el premio de todos los maillots que hay.
SELECT * FROM `maillot` WHERE 1
2. Obtener el dorsal y el nombre de los ciclistas cuya edad sea menor o igual que 25 años.
SELECT dorsal, nombre FROM `ciclista` WHERE edad25
7. ¿Cuántos equipos hay?
SELECT COUNT(*) FROM `equipo` WHERE 1
8. Obtener la media de edadde los ciclistas.
SELECT AVG(edad) FROM `ciclista` WHERE 1
9. Obtener la altura mínima y máxima de los puertos de montaña.
SELECT MAX(altura),MIN(altura) FROM `puerto` WHERE 1
10. Obtener el nombre de cada ciclista junto con el nombre del equipo al que pertenece.
SELECT nombre, nomeq FROM `ciclista` ORDER BY nomeq
11. Obtener el nombre de los ciclistas...
tracking img