TAREA Nº 1
Profesor: Cristian Salazar
Integrantes: Sandra Barrientos
Elmar Alarcón
Alejandro Ramírez
Universidad Austral de Chile
Facultad de Ciencias Económicas y Administrativas
Escuela de Ingeniería Comercial
Sistemas de información empresarial
VALDIVIA, ABRIL 2012
TODAS LAS TABLAS UTILIZADAS
AUTORES BIBLIOTECA
CAMPUS CIUDAD
EDITORIALES TIPO
ESTUDIANTES
LIBROS
FUNCIONARIOS
PRESTAMO
CARRERAS
ACTIVIDADES PROVENIENTES DE LA GUÍA DE EJERCICIOS
1. Todas las carreras, con sus respectivos campus
Consulta SQL:
2. ¿Cuántas carreras hay?
Consulta SQL:
3. Cláusula WHERE: todas las carreras menos “Arquitectura” (1793)
Consulta SQL:
SELECT *
FROMcarreras
WHERE id_carrera<> 1793;
SELECT COUNT(*)
FROMcarreras;
SELECT *
FROMcarreras;
4. Lista de estudiantes (Nombre, apellido, edad, fono, dirección)
Consulta SQL:
5. Lista de estudiantes ordenados por edad de manera descendente
Consulta SQL:
SELECT e.nombre_est, e.apellido_est,e.edad_est,e.fono_est,e.direccion_est
FROMestudiantesASe
ORDER BY e.edad_estDESC;
SELECT e.nombre_est,e.apellido_est,e.edad_est,e.fono_est,e.direccion_est
FROMestudiantesASe;
6. Datos estudiantes junto a la carrera a la cual pertenece
Consulta SQL:
7. Lista de estudiantes con sus respectivas carreras y campus
Consulta SQL: SELECT e.nombre_est, e.apellido_est, e.edad_est, e.fono_est,
e.direccion_est, c.nombre_carrera AS ["Nombre Carrera"],
cs.nombre_campus AS Campus
FROMestudiantes AS e, carreras AS c, campus AS cs
WHERE c.id_carrera = e.id_carrera
AND cs.id_campus = c.id_campus
ORDER BY e.edad_est DESC;
SELECT e.nombre_est,e.apellido_est,e.edad_est,e.fono_est,e.direccion_est,
c.nombre_carrera
FROMestudiantesASe,carrerasASc
WHERE c.id_carrera= e.id_carrera
ORDER BY e.edad_estDESC;
8. Lista estudiantes, su respectiva carrera, campus y ciudad del campus
Consulta SQL:
9. Funcionarios mayores de 35 años.
Consulta SQL:
SELECT f.nombre_func,f.apellido_func,f.rut_func,f.edad_func,f.direccion,f.salud
FROMfuncionariosf
WHERE f.edad_func>35;
SELECT e.nombre_est,e.apellido_est,e.edad_est,e.fono_est,e.direccion_est,
c.nombre_carreraAS["Nombre Carrera"],cs.nombre_campusAScampus,
ci.nombre_ciudadAS["NombreCiudad"]
FROMestudiantesASe,carrerasASc, campusAS cs,ciudad ASci
WHERE c.id_carrera= e.id_carrera
ANDcs.id_campus= c.id_campus
ANDcs.id_ciudad= ci.id_ciudad
ORDER BY e.edad_estDESC;
10. Préstamos de libros, cuya fecha de entrega sea superior a la de hoy.
Consulta SQL
TAREA: GROUP BY, HAVING Y ORDER BY
Tres consultas usando GROUP BY
Group by 1
Consulta SQL: Cantidad de alumnos por carrera
Group by 2
Consulta SQL: Cantidad de carreras por campus.
SELECT *
FROM préstamo AS p
WHERE p.fecha_e > date ();
SELECT a.nombre_carrera,COUNT
(b.id_carrera)
FROMcarreras AS a, estudiantesASb
WHERE a.id_carrera=b.id_carrera
GROUP BY nombre_carrera;
SELECT e.nombre_campus,COUNT
(a.id_carrera)
FROMcarreras AS a, campusAS e
WHERE e.id_campus=a.id_campus
GROUP BY e.nombre_campus;
Group by 3
Consulta SQL: Cantidad de libros por biblioteca.
Tres consultas usando ORDER BY
Order by 1
Consulta SQL: Lista de estudiantes mayores a 21 años, ordenados por edad de forma
descendente.
EL RESULTADO DE LA CONSULTA ES EL SIGUIENTE:
Se puede observarque latablaanteriormuestrasóloestudiantesmayoresde 21 años ordenados
de mayor a menor.
SELECT b.biblioteca,COUNT
(a.cod_libro)
FROMlibrosASa, bibliotecaASb
WHERE a.id_biblio=b.id_biblio
GROUP BY b.biblioteca;
SELECT *
FROMestudiantes
WHERE edad_est> 21
ORDER BY edad_estDESC;
Order by 2
Consulta SQL: Lista de funcionarios, con todos sus datos ordenados por edad, de menor a
mayor.
EL RESULTADO DE LA CONSULTA ES EL SIGUIENTE:
Como se puede ver, tenemos la misma tabla que al principio, pero esta vez, los funcionarios
ordenados de menor a mayor.
Order by 3
Consulta SQL: Lista de libros con todos sus datos, ordenados desde el más nuevo hasta el más
antiguo.
EL RESULTADO DE LA CONSULTA ES EL SIGUIENTE
SELECT *
FROMfuncionarios
ORDER BY edad_func;
SELECT *
FROMlibros
ORDER BY agnoDESC;
Tres consultas usando HAVING.
Having 1
Consulta SQL: Cantidad de libros solicitados por tipo de préstamo.
Having 2
Consulta SQL: Cantidad funcionarios por campus.
Having 3
Having 3
Consulta SQL: Cantidad de libros solicitados por biblioteca.
SELECT b.tipo_p,COUNT(a.id_tipo)
FROMlibrosASa, tipoAS b
WHERE a.id_tipo=b.id_tipo
GROUP BY b.tipo_p
HAVINGCOUNT (a.id_tipo)>2;
SELECT b.nombre_campus,COUNT(a.rut_func)
FROMfuncionariosASa,campus ASb
WHERE a.id_campus=b.id_campus
GROUP BY nombre_campus
HAVINGCOUNT (a.rut_func)=1;
SELECT b.biblioteca,COUNT(a.cod_libro)
FROMlibrosASa, bibliotecaASb
WHERE a.id_biblio=b.id_biblio
GROUP BY b.biblioteca
HAVINGCOUNT (a.cod_libro)>1;
Consulta considerando varias tablas
Consulta SQL: Cada libro, con su autor, editorial y biblioteca, ordenados
ascendentemente según su año de publicación.
Resultado:
SELECT a.titulo_libro,a.agno_libro,b.nombre_autor,b.apellido_autor,c.nombre_edit,
d.biblioteca
FROMlibrosASa, autoresAS b,editorialesASc,bibliotecaASd
WHERE "a.id_biblio=d.id_biblio''a.rut_autor=b.rut_autor''a.id_edit=b.id_edit"
ORDER BY a.agno_libroASC;

Tarea nº 1 sistemas

  • 1.
    TAREA Nº 1 Profesor:Cristian Salazar Integrantes: Sandra Barrientos Elmar Alarcón Alejandro Ramírez Universidad Austral de Chile Facultad de Ciencias Económicas y Administrativas Escuela de Ingeniería Comercial Sistemas de información empresarial VALDIVIA, ABRIL 2012
  • 2.
    TODAS LAS TABLASUTILIZADAS AUTORES BIBLIOTECA CAMPUS CIUDAD EDITORIALES TIPO
  • 3.
  • 4.
  • 5.
    ACTIVIDADES PROVENIENTES DELA GUÍA DE EJERCICIOS 1. Todas las carreras, con sus respectivos campus Consulta SQL: 2. ¿Cuántas carreras hay? Consulta SQL: 3. Cláusula WHERE: todas las carreras menos “Arquitectura” (1793) Consulta SQL: SELECT * FROMcarreras WHERE id_carrera<> 1793; SELECT COUNT(*) FROMcarreras; SELECT * FROMcarreras;
  • 6.
    4. Lista deestudiantes (Nombre, apellido, edad, fono, dirección) Consulta SQL: 5. Lista de estudiantes ordenados por edad de manera descendente Consulta SQL: SELECT e.nombre_est, e.apellido_est,e.edad_est,e.fono_est,e.direccion_est FROMestudiantesASe ORDER BY e.edad_estDESC; SELECT e.nombre_est,e.apellido_est,e.edad_est,e.fono_est,e.direccion_est FROMestudiantesASe;
  • 7.
    6. Datos estudiantesjunto a la carrera a la cual pertenece Consulta SQL: 7. Lista de estudiantes con sus respectivas carreras y campus Consulta SQL: SELECT e.nombre_est, e.apellido_est, e.edad_est, e.fono_est, e.direccion_est, c.nombre_carrera AS ["Nombre Carrera"], cs.nombre_campus AS Campus FROMestudiantes AS e, carreras AS c, campus AS cs WHERE c.id_carrera = e.id_carrera AND cs.id_campus = c.id_campus ORDER BY e.edad_est DESC; SELECT e.nombre_est,e.apellido_est,e.edad_est,e.fono_est,e.direccion_est, c.nombre_carrera FROMestudiantesASe,carrerasASc WHERE c.id_carrera= e.id_carrera ORDER BY e.edad_estDESC;
  • 8.
    8. Lista estudiantes,su respectiva carrera, campus y ciudad del campus Consulta SQL: 9. Funcionarios mayores de 35 años. Consulta SQL: SELECT f.nombre_func,f.apellido_func,f.rut_func,f.edad_func,f.direccion,f.salud FROMfuncionariosf WHERE f.edad_func>35; SELECT e.nombre_est,e.apellido_est,e.edad_est,e.fono_est,e.direccion_est, c.nombre_carreraAS["Nombre Carrera"],cs.nombre_campusAScampus, ci.nombre_ciudadAS["NombreCiudad"] FROMestudiantesASe,carrerasASc, campusAS cs,ciudad ASci WHERE c.id_carrera= e.id_carrera ANDcs.id_campus= c.id_campus ANDcs.id_ciudad= ci.id_ciudad ORDER BY e.edad_estDESC;
  • 9.
    10. Préstamos delibros, cuya fecha de entrega sea superior a la de hoy. Consulta SQL TAREA: GROUP BY, HAVING Y ORDER BY Tres consultas usando GROUP BY Group by 1 Consulta SQL: Cantidad de alumnos por carrera Group by 2 Consulta SQL: Cantidad de carreras por campus. SELECT * FROM préstamo AS p WHERE p.fecha_e > date (); SELECT a.nombre_carrera,COUNT (b.id_carrera) FROMcarreras AS a, estudiantesASb WHERE a.id_carrera=b.id_carrera GROUP BY nombre_carrera; SELECT e.nombre_campus,COUNT (a.id_carrera) FROMcarreras AS a, campusAS e WHERE e.id_campus=a.id_campus GROUP BY e.nombre_campus;
  • 10.
    Group by 3 ConsultaSQL: Cantidad de libros por biblioteca. Tres consultas usando ORDER BY Order by 1 Consulta SQL: Lista de estudiantes mayores a 21 años, ordenados por edad de forma descendente. EL RESULTADO DE LA CONSULTA ES EL SIGUIENTE: Se puede observarque latablaanteriormuestrasóloestudiantesmayoresde 21 años ordenados de mayor a menor. SELECT b.biblioteca,COUNT (a.cod_libro) FROMlibrosASa, bibliotecaASb WHERE a.id_biblio=b.id_biblio GROUP BY b.biblioteca; SELECT * FROMestudiantes WHERE edad_est> 21 ORDER BY edad_estDESC;
  • 11.
    Order by 2 ConsultaSQL: Lista de funcionarios, con todos sus datos ordenados por edad, de menor a mayor. EL RESULTADO DE LA CONSULTA ES EL SIGUIENTE: Como se puede ver, tenemos la misma tabla que al principio, pero esta vez, los funcionarios ordenados de menor a mayor. Order by 3 Consulta SQL: Lista de libros con todos sus datos, ordenados desde el más nuevo hasta el más antiguo. EL RESULTADO DE LA CONSULTA ES EL SIGUIENTE SELECT * FROMfuncionarios ORDER BY edad_func; SELECT * FROMlibros ORDER BY agnoDESC;
  • 12.
    Tres consultas usandoHAVING. Having 1 Consulta SQL: Cantidad de libros solicitados por tipo de préstamo. Having 2 Consulta SQL: Cantidad funcionarios por campus. Having 3 Having 3 Consulta SQL: Cantidad de libros solicitados por biblioteca. SELECT b.tipo_p,COUNT(a.id_tipo) FROMlibrosASa, tipoAS b WHERE a.id_tipo=b.id_tipo GROUP BY b.tipo_p HAVINGCOUNT (a.id_tipo)>2; SELECT b.nombre_campus,COUNT(a.rut_func) FROMfuncionariosASa,campus ASb WHERE a.id_campus=b.id_campus GROUP BY nombre_campus HAVINGCOUNT (a.rut_func)=1; SELECT b.biblioteca,COUNT(a.cod_libro) FROMlibrosASa, bibliotecaASb WHERE a.id_biblio=b.id_biblio GROUP BY b.biblioteca HAVINGCOUNT (a.cod_libro)>1;
  • 13.
    Consulta considerando variastablas Consulta SQL: Cada libro, con su autor, editorial y biblioteca, ordenados ascendentemente según su año de publicación. Resultado: SELECT a.titulo_libro,a.agno_libro,b.nombre_autor,b.apellido_autor,c.nombre_edit, d.biblioteca FROMlibrosASa, autoresAS b,editorialesASc,bibliotecaASd WHERE "a.id_biblio=d.id_biblio''a.rut_autor=b.rut_autor''a.id_edit=b.id_edit" ORDER BY a.agno_libroASC;