1 - Localidades con su provincia y pais a la que pertenecen.
SELECT l.nombre as localidad, p.nombre as provincia, pa.nombre as pais FROM localidad
as l join provincia as p using(codprovincia)
join pais as pa using(codpais);
2 - solo paises que contengan al menos una provincia que comience son S
SELECT p.nombre as provincia, pa.nombre as pais FROM provincia as p
join pais as pa using(codpais)
WHERE p.nombre like 's%';
3 - paises ordenados por la cantidad de letras que tenga su nombre
SELECT nombre as pais, length(nombre) FROM pais
order by length(nombre);
4 - personas con sus padres y madres
SELECT nombre as persona, padre, madre FROM personas;
5 - personas que no tengan padres
SELECT h.nombre as hijo, m.nombre as madre FROM personas as h
left join personas as m on(h.madre = m.codpersona)
WHERE m.nombre is null;
6 - personas con sus padres inclusive las personas que no tengan padres
SELECT h.nombre as hijo, p.nombre as padre FROM personas as h
left join personas as p on(h.padre = p.codpersona);
7 - instituciones ordenadas por nombre con su localidad, provincia y pais.
SELECT i.institucion, l.nombre as localidad, p.nombre as provincia, pa.nombre as pais FROM coinstitucion as i
join localidad as l using(codlocalidad)
join provincia as p using(codprovincia)
join pais as pa using(codpais)
order by i.institucion;
8 - todos los movimientos financieros de Homero
SELECT motivo, monto FROM finanzas
WHERE codpersona = 1;
9 - el saldo de Homero
SELECT sum(
case when f.tipo = 0 then f.monto * -1 else f.monto end) as saldo
FROM personas as p
join finanzas as f on(p.codpersona = f.codpersona)
where p.codpersona = 1;
10 - personas con su saldo
SELECT p.nombre, sum(
case when f.tipo = 0 then f.monto * -1 else f.monto end) as saldo
FROM personas as p
left join finanzas as f on(p.codpersona = f.codpersona)
group by p.codpersona;
11 - total dado por "remesas de domingo"
SELECT sum (f.monto) as total
FROM finanzas as f
WHERE f.motivo like 'Remesa del domingo%';
12 - el top five de las provincias con mas localidades
SELECT p.nombre as provincia, count(l.nombre) as cantidad
FROM provincia as p
join localidad as l using(codprovincia)
group by p.nombre
order by cantidad desc
limit 5;
13 - agregar una persona sin padres
INSERT into personas (nombre, apellido, padre)
VALUES ("Matias", "Nahuelan", " ")
14 - modificar el nombre de la persona agregada en el punto anterior
UPDATE personas set nombre = "Daniel"
WHERE codpersona = 8;
15 - borrar la persona agregada en el punto 13
DELETE FROM personas WHERE codpersona = 8;
16 - agregar un pais nuevo donde el tipo de division politica sea el cod 6
INSERT into pais (codpais, nombre, codtipodivisionpolitica)
VALUES (103, "Atlantis", 6)
17 - localidad donde el nombre de la misma contenga la palabra "Julio"
SELECT * FROM localidad WHERE nombre like '%JULIO%';
18 - promedio de ingresos de Bart
SELECT avg(monto) as promedio from finanzas
where codpersona = 1 and tipo = 1;
19 - cantidad de movimientos financieros de Lisa.
SELECT count(f.codmovimiento) cantidad_movimientos FROM finanzas as f
WHERE codpersona = 4;
20 - cantidad de movimientos financieros créditos y débitos de Homero
--no esta completo
SELECT count(f.codmovimiento) as cantidad_movimientos FROM finanzas as f
WHERE codpersona = 1;
TABLA NUEVA
1 - Cargar 5 personas
INSERT into people (nropeople, nombre, apellido)
VALUES (1, "Matias", "Nahuelan");
2 - Asignar algunas de esas personas a la tabla "sector" como jefe
UPDATE sector set jefe = z
WHERE codpersona = x;
3 - establecer los presupuestos de los departamentos
4 - determinar los porcentajes del presupuestos a los sectores
5 - crear 5 diferentes presentaciones de los insumos (pack de 6, caja de
12, unidades de 100gr, etc)
6 - crear 10 insumos
INSERT into csinsumo (codinsumo, nombre, unidaddemedidastock, codigobarras, tipo, estado)
VALUES (6, "Seven up", 0, "rere", 0, 0)
7 - establecer los topes max y min de algunos insumos para un secotor
determinado.
8 - comprar 3 insumos a Pepito SA. (factura)
9 - Comprar 1 insumos a Coca Cola (factura)
10 - listado de sectores con su departamento
11 - cantidad de sectores por departamento
SELECT d.nombre as depto, count(s.nombre) as sectores FROM sector as s
join depar as d using(coddepar)
group by d.nombre
12 - promedio de presupuestos asignado a los departamentos
13 - listado de insumos y sus topes














