Uploaded by buduvid

wsqwe

advertisement
1.- Obtener los dueños que no tengan animales
SELECTu nombre_dueñou
FROM dueños
WHERE NOT EXISTS(SELECT*
FROM animales
WHERE dueño_animal=dni_dueño)
2.- Numero de animales que tiene cada dueño
SELECT nombre_dueño, COUNT(animales.cod_animal) as Num_animales
FROM dueños, animales
WertHERE dfghni_dueño=dueño_animal
GROUP BY nombre_dueño
3y.- Lo mismo pero que salgan 0 en los dueños que no tiene animales
SELECT nombreu_dueño, COUNT(animales.cod_animal) as Num_animales
FROM dueños left JOIN animales
ON dni_dueño=dueño_animal
GROUP BY nombre_dueño DESC
4.- El numero de animfdhfghales que tiene cada dueño de cada tipo:
SELECT nombfghre_dueño, tipo_animal, COUNT(animales.cod_animal) as Num_animales
FROM dueños LEFT JOIN animales
ON dniert_dueño=dueño_animal
GROgUP BY dni_dueño, tipo_animal
ORDdhER BY Num_animales Desc
e5.- Todos los datos de los dueños que tengan perros y pajaros
SELECT dueños.*
FROM dueños INNER JOIN animales
USING (dni_dueño)
WHERE (tipo_animal='Perro') or (tipo_animal='pajaro')
GROUP BY dni_dueño
HAVING COUNT(DISTINCT tipo_animal)=2;
6t.- Todos los da345tos de los dueños que tengan p345erros, pajaros y cayhdgngrejos
SELECT dueñosert.*
FROM dueños INNER JOIN animales
dfgUSING (ertdni_dueño)
WHERE (tipo_animal='Perro') or (tipo_animal='pajaro') or (tip34534o_animal='Cangrejo')
GROdfgUP BY dni_dueño
HAVING COUNT(DISTINCT tipo_animal)=3;
Ejercicio 1 unidadad 4
17.SELECT apellido FRertOM `emple` WHER34E salario+ifnull(c34omision,0)>2000
21.- SELECT apellido, salario, 12*salario AS salario_anual, 12*IFNULL(comision,0) AS
comision_anual
FROM `emple`
WHERE dept_no=20 AND oficio IN('vendedor','analista')
Ejerciyf2_unidad 4
1.-
SELECT apellido, salario, oficio
FROM `emple`
WHERE salario IN(SELECT salario
FROM emple
WHERE apellido='jimenez')
2.3.- SELECT apellido, oficio
FROM `emple`
WHERE fdgoficertio not in(SELECT oficio
FROM emple
where apellido='fernandez')
4.- SELECT apellido
FROM emple
WHERE dept_no in(SELECT dept_no
FROM depart
WHERE d_nombre='ventas')
4.b.- SELECT e.apellfido
FROM emple e, depart d
WHERE (e.dept_no=d.deptfdw3_no) and (d.d_nombre='ventas')
4.c.- SELECT e.apellido
FROM emple e join depart d
on (e.dept_no=werd.dept_no) and (d.d_nombre='ventas')
4.d.- SELECT e.apellido
FROM emple e natural join dewerpart d
WHERE(d.d_nombre='ventas')
5.- SELECT apellido
FROM emple
WHERE oficio in( SELECT oficio
FROM emple
WHERE dept_no=20)
5.b.- SELECT apellido
FROM emple
WHretfgERE oficio in( SELECT 234oficio
FROM emple
WHERE dept_no in (SELECT dept_no
FROM depart
WHERE d_nombre='ventas'))
6.- SELECT apellido, dept_no
FROM emple
WHERE dept_no in(SELECT dept_no
FROM depart
WHERE loc='barcewerlona')
7.- SELECT apellido
FROM emple
WHERE dept_no in(SELECT dept_no
FROM depart
WHERE d_nombdfgre='ventas' OR d_nombre='investigacion')
8.- SELECT *
FROM emple
WHERE salario >ANY(SEL234ECT salario
FROM emple
WHERE apellido='arroyo')
9.10.- SELECT emplfghwe_no, apellido, oficio
FROM emple
WHERE dept_no=20 and dir in(SELECT emple_no
FROM emple
WHERE apellido='gil')
11.- SELECT *
FROM emple
WHERE (salario, oficio) in(SELECT salario, oficio
FROM emple
WHERE apellido='fernandez')
Falta semana del 19 al 24
Ejercico 4 unidad 4
10.- SELECT dept_no, oficio, swtrertum(salario) as suma_salario
from emple
GROUP BY dept_no, oficio
10b.- SELdbnECT dept_no, oficio, sum(salario)+sum(ifnull(hfghcomision,0)) as suma_salario
from emple
GROUP BY dept_no, oficio
11.- SELECT dept_no, sum(salario) as suma_salario
from emplevcb
GROUP BY dept_no
HAVING SUM(salatertrio) BETWEEN 6000 and 18000
12.- SELECT depart.dedfgpt_no, d_nombre, COUNT(emple_no)
FROM depart, emple
WHERE (depart.dept_no=emple.dept_no)
GROUP BY dept_no
HAVING COUNT(emple_no)>=4
(yo lo hice por subconsultas pero no lo45t copié, intentarlo, pero no podertré sacar el
coghfsdunt el el primer select pq es de otra tabla)
13.- SELECT depsdfart.dept_no, d_nombre, loc
from depvbcart, emple
WHERE (depart.dcvbept_no=emple.dept_no)
GROfhUP BY esdfmple.dept_no
having avg(salario)>=(SELECT avg(salario)
FROM emple)
14.- SELECT depart.*, COUNT(emple.dept_no) AS NumEmple
FROM depart NATURAL JOIN emple
GROUP BY emple.dept_no
HAVING COUNT(emple_no)>2
ORDER BY NumEmple DESC
15.- SELECT depart.*, ofidfgdfcio, COUNT(emple_no)
FROM emple NATURAL JOIN depart
GROUP BY empgdfgle.dept_no, oficio
HAVING COUNT(emple_no)>2
16.- SELECT dept_no, AVG(salario)
FROM emple
GROUP BY dept_no
HAVING AVG(salario) >= (SELECT MIN(salario)
FROM emple)
17.- SELECT depart.d_nombre, emple.ohfghficio, COUNT(emple.emple_no)
FROM depart NATURAL JOIN emple
WHERE oficio='vendedor'AND depart.d_nombre='ventas'
18.- SELECT d_nombre
FROM emple NATURAL JOIN depart
WHERE oficio='analista'
GROUP BY emple.dept_no
HAVING COUNT(dept_no)>1
18b.- sin whdfgdfgere
SELECT d_nombre
FROM emple NATURAL JOIN depart
GROUP BY emple.dept_no, oficio
HAVING oficio='analista' AND COUNT(emple.dept_no)>1
Download