tarea nº 1 sistemas

Post on 04-Jun-2015

707 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

TAREA Nº 1

Profesor: Cristian SalazarIntegrantes: Sandra Barrientos

Elmar AlarcónAlejandro Ramírez

Universidad Austral de ChileFacultad de Ciencias Económicas y Administrativas

Escuela de Ingeniería ComercialSistemas 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:

SELECT *FROM carreras;

2. ¿Cuántas carreras hay?

Consulta SQL:

3. Cláusula WHERE: todas las carreras menos “Arquitectura” (1793)

Consulta SQL:

4. Lista de estudiantes (Nombre, apellido, edad, fono, dirección)

SELECT *FROM carrerasWHERE id_carrera <> 1793;

SELECT COUNT (*)FROM carreras;

Consulta SQL:

5. Lista de estudiantes ordenados por edad de manera descendente

Consulta SQL:

6. Datos estudiantes junto a la carrera a la cual pertenece

Consulta SQL:

SELECT e.nombre_est, e.apellido_est, e.edad_est, e.fono_est, e.direccion_est, c.nombre_carreraFROM estudiantes AS e, carreras AS cWHERE c.id_carrera = e.id_carreraORDER BY e.edad_est DESC;

SELECT e.nombre_est, e.apellido_est, e.edad_est, e.fono_est, e.direccion_estFROM estudiantes AS eORDER BY e.edad_est DESC;

SELECT e.nombre_est, e.apellido_est, e.edad_est, e.fono_est, e.direccion_estFROM estudiantes AS e;

7. Lista de estudiantes con sus respectivas carreras y campus

Consulta SQL:

8. Lista estudiantes, su respectiva carrera, campus y ciudad del 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, ci.nombre_ciudad AS ["Nombre Ciudad"]FROM estudiantes AS e, carreras AS c, campus AS cs, ciudad AS ciWHERE c.id_carrera = e.id_carrera AND cs.id_campus = c.id_campus AND cs.id_ciudad = ci.id_ciudad

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 CampusFROM estudiantes AS e, carreras AS c, campus AS csWHERE c.id_carrera = e.id_carrera AND cs.id_campus = c.id_campusORDER BY e.edad_est DESC;

9. Funcionarios mayores de 35 años.

Consulta SQL:

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

SELECT *FROM préstamo AS pWHERE p.fecha_e > date ();

SELECT f.nombre_func, f.apellido_func, f.rut_func, f.edad_func, f.direccion, f.saludFROM funcionarios fWHERE f.edad_func > 35;

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, ci.nombre_ciudad AS ["Nombre Ciudad"]FROM estudiantes AS e, carreras AS c, campus AS cs, ciudad AS ciWHERE c.id_carrera = e.id_carrera AND cs.id_campus = c.id_campus AND cs.id_ciudad = ci.id_ciudad

SELECT a.nombre_carrera, COUNT (b.id_carrera)FROM carreras AS a, estudiantes AS bWHERE a.id_carrera=b.id_carreraGROUP BY nombre_carrera;

Group by 2

Consulta SQL: Cantidad de carreras por campus.

Group by 3

Consulta SQL: Cantidad de libros por biblioteca.

Tres consultas usando ORDER BY

Order by 1

SELECT e.nombre_campus, COUNT (a.id_carrera)FROM carreras AS a, campus AS eWHERE e.id_campus = a.id_campusGROUP BY e.nombre_campus;

SELECT b.biblioteca, COUNT (a.cod_libro)FROM libros AS a, biblioteca AS bWHERE a.id_biblio=b.id_biblioGROUP BY b.biblioteca;

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 observar que la tabla anterior muestra sólo estudiantes mayores de 21 años ordenados de mayor a menor.

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.

SELECT *FROM estudiantesWHERE edad_est > 21ORDER BY edad_est DESC;

SELECT *FROM funcionariosORDER BY edad_func;

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

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.

SELECT b.tipo_p, COUNT (a.id_tipo)FROM libros AS a, tipo AS bWHERE a.id_tipo=b.id_tipoGROUP BY b.tipo_pHAVING COUNT (a.id_tipo)>2;

SELECT b.nombre_campus, COUNT (a.rut_func)FROM funcionarios AS a, campus AS bWHERE a.id_campus=b.id_campusGROUP BY nombre_campusHAVING COUNT (a.rut_func)=1;

SELECT *FROM librosORDER BY agno DESC;

Having 3

Having 3

Consulta SQL: Cantidad de libros solicitados por biblioteca.

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 b.biblioteca, COUNT (a.cod_libro)FROM libros AS a, biblioteca AS bWHERE a.id_biblio=b.id_biblioGROUP BY b.bibliotecaHAVING COUNT (a.cod_libro)>1;

SELECT a.titulo_libro, a.agno_libro, b.nombre_autor, b.apellido_autor, c.nombre_edit, d.bibliotecaFROM libros AS a, autores AS b, editoriales AS c, biblioteca AS dWHERE "a.id_biblio=d.id_biblio' 'a.rut_autor=b.rut_autor' 'a.id_edit=b.id_edit"ORDER BY a.agno_libro ASC;

top related