Ejercicios SQL

9
UNIVERSIDAD AUSTRAL DE CHILE FACULTAD DE CIENCIAS ECONÓMICAS Y ADMINISTRATIVAS AUDITORÍA TAREA DE AYUDANTIA SISTEMAS DE INFORMACION ADMINISTRATIVA NOMBRE: YOLANDA MOLINA G PROFESOR: CRISTIAN SALAZAR AYUDANTE: JOSE LUIS CARRASCO CARRERA: AUDITORIA

description

A continuación se muestra una serie de ejecicios realizado en el programa SQL, que nos muestra las formulas de las respectivas consultas.

Transcript of Ejercicios SQL

Page 1: Ejercicios SQL

UNIVERSIDAD AUSTRAL DE CHILE

FACULTAD DE CIENCIAS ECONÓMICAS Y ADMINISTRATIVAS

AUDITORÍA

TAREA DE AYUDANTIA SISTEMAS DE INFORMACION ADMINISTRATIVA

NOMBRE:

YOLANDA MOLINA G

PROFESOR:

CRISTIAN SALAZAR

AYUDANTE:

JOSE LUIS CARRASCO

CARRERA:

AUDITORIA

EJERCICIOS DE SQL:

1.- Realice una cadena de inserciones, esto es:

- Crear un procedimiento para agregar Ciudades.

Page 2: Ejercicios SQL

create or replace procedure agrega_ciudad(id_ciudad in number, nom_ciudad in varchar2)isbegininsert into ciudad (id_ciudad, nombre)values (id_ciudad, nom_ciudad);commit;end agrega_ciudad;

- Crear un procedimiento para agregar Campus. create or replace procedure agrega_campus(id_campus in number, nom_campus in varchar2, id_ciudad in number)isbegininsert into campus (id_campus, nombre, id_ciudad)values (id_campus, nom_campus, id_ciudad);commit;end agrega_campus;

- Crear un procedimiento para agregar Carreras. create or replace procedure agrega_carrera(id_carrera in number, nom_carrera in varchar2, id_campus in number)isbegininsert into carreras (id_carrera, nombre, id_campus)values (id_carrera, nom_carrera, id_campus);commit;end agrega_carrera;

- Crear un procedimiento para agregar Estudiantes. create or replace procedure agrega_estudiante(rut_est in number, nom_estudiante in varchar2, nom_apellido in varchar2, edad in number, fono in number, direccion in varchar2, id_carrera in number)isbegininsert into estudiantes (rut_est, nombres, apellidos, edad, fono, direccion, id_carrera)values (rut_est, nom_estudiante, nom_apellido, edad, fono, direccion, id_carrera);commit;end agrega_estudiante;

2.- Realice un procedimiento que actualice la edad de los estudiantes a partir de su RUT.

create or replace procedure actualiza_rut_edad(rut_est_act in number, edad_act in number) isbegin

Page 3: Ejercicios SQL

update estudiantesset edad = edad_actwhere rut_est = rut_est_act;commit;end actualiza_rut_edad;

3.- Realice una función que entregue la edad promedio de los estudiantes de “PED. EN EDUCACIÓN DIFERENCIAL”.

create or replace function est_diferencial(nombre_carrera in varchar2) return number is valor_est_diferencial number;begin select AVG(e.edad) into valor_est_diferencial from estudiantes e, carreras c where e.id_carrera = c.id_carrera and c.nombre = nombre_carrera; return valor_est_diferencial;end est_diferencial;

Page 4: Ejercicios SQL

4.- Realice una función que entregue la suma de edades de los estudiantes del campus ISLA TEJA. La función debe llamarse SUMA_TEJA.

create or replace function SUMA_TEJA(nombre_campus in varchar2)return number is

valor_sum_teja number;beginselect sum(e.edad)into valor_sum_tejafrom estudiantes e, carreras c, campus cswhere e.id_carrera = c.id_carreraand c.id_campus = cs.id_campusand cs.nombre = nombre_campus;return valor_sum_teja;end SUMA_TEJA;

Page 5: Ejercicios SQL

5.- Realice una función que cuente los estudiantes del campus ISLA TEJA. La función debe llamarse CUENTA_TEJA.

create or replace function CUENTA_TEJA(nombre_campus in varchar2)return number isvalor_cuenta_teja number;beginselect count(*)into valor_cuenta_tejafrom estudiantes e, carreras c, campus cswhere e.id_carrera = c.id_carreraand c.id_campus = cs.id_campusand cs.nombre = nombre_campus;return valor_cuenta_teja;end CUENTA_TEJA;

6.- Una vez realizado 4 y 5, ejecute la siguiente consulta y describa que arroja como

resultado: SELECT (SUMA_TEJA/CUENTA_TEJA) as NX FROM DUAL;La consulta arroja el promedio de edad de los estudiantes del campus Isla Teja, dejándolo en una lista que nombra este valor como NX

(EN EL CUADRO SIGUIENTE, LA CONSULTA NO RESULTA)

7.- (RESUELTO) Entregue el número total de estudiantes de cada una de las carreras, mostrando el nombre de la carrera y su número de estudiantes respectivos:

Page 6: Ejercicios SQL

SELECT c.NOMBRE as CARRERA,count(e.RUT_EST) as N_ESTUDIANTES FROM ESTUDIANTES e, CARRERAS c where e.ID_CARRERA = c.ID_CARRERA GROUP BY c.NOMBRE

8.- Entregue el número total de estudiantes de cada uno de los campus de forma similar al ejercicio 7.

SELECT cm.NOMBRE as NOMBRE_CARRERA,count(e.RUT_EST) as NUMERO_ESTUD FROM ESTUDIANTES e, CARRERAS c, CAMPUS cmwhere e.ID_CARRERA = c.ID_CARRERA GROUP BY cm.NOMBRE

Page 7: Ejercicios SQL

9.- Entregue el número total de estudiantes de cada una de las ciudades de forma similar al ejercicio 7.

SELECT ciu.NOMBRE as CAMPUS, count(e.RUT_EST) as NUMERO_ESTUD FROM ESTUDIANTES e, CARRERAS c, CAMPUS cm, CIUDAD ciu where e.ID_CARRERA = c.ID_CARRERA and c.Id_Campus = cm.id_campus and cm.Id_Ciudad = ciu.id_ciudad GROUP BY ciu.NOMBRE