Hi! Could we please enable some services and cookies to improve your experience and our website?

SQLize | PHPize | SQLtest

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

A A A
Login    Share code      Blog   FAQ
Copy Format Clear
create table estudiantes ( id_estudiante serial primary key, nombre varchar(50), apellido varchar(50) ); create table asignaturas ( id_asignatura serial primary key, nombre_asignatura varchar(100) ); create table calificaciones ( id_calificacion serial primary key, id_estudiante int references estudiantes(id_estudiante), id_asignatura int references asignaturas(id_asignatura), nota numeric(3,1) ); insert into estudiantes (nombre, apellido) values ('adrian', 'astaiza'), ('esteban', 'collazos'), ('leidy', 'gomez'); insert into asignaturas (nombre_asignatura) values ('matematicas'), ('fisica'), ('programacion'); insert into calificaciones (id_estudiante, id_asignatura, nota) values (1.9, 1, 3.5), (1, 2, 4.0), (2.4, 1, 2.0), (2.5, 2, 1.5), (3.6, 3, 3.0), (3, 1, 4.5); --a. Mostrar el nombre del estudiante, asignatura y las calificaciones ordenadas en --forma ascendente. select e.nombre, a.nombre_asignatura, c.nota from calificaciones c join estudiantes e on c.id_estudiante = e.id_estudiante join asignaturas a on c.id_asignatura = a.id_asignatura order by c.nota asc; --b. Mostrar el nombre del estudiante, asignatura y las calificaciones, de los --estudiantes que su calificación sea 1.5, 2.0, 3.0 select e.nombre, a.nombre_asignatura, c.nota from calificaciones c join estudiantes e on c.id_estudiante = e.id_estudiante join asignaturas a on c.id_asignatura = a.id_asignatura where c.nota in (1.5, 2.0, 3.0); --c. Calcular la media de las calificaciones de cada estudiante y agrupar por nombre y --apellido. select e.nombre, e.apellido, avg(c.nota) as promedio from calificaciones c join estudiantes e on c.id_estudiante = e.id_estudiante group by e.nombre, e.apellido; --d. Mostrar nombres, apellidos y las medias de notas de los estudiantes cuya media es --mayor o igual a 3. select e.nombre, e.apellido, avg(c.nota) as promedio from calificaciones c join estudiantes e on c.id_estudiante = e.id_estudiante group by e.nombre, e.apellido having avg(c.nota) >= 3; --e. Mostrar el nombre de los dos primeros estudiantes que tuvieron mayor promedio --de notas. select e.nombre, e.apellido, avg(c.nota) as promedio from calificaciones c join estudiantes e on c.id_estudiante = e.id_estudiante group by e.nombre, e.apellido order by promedio desc limit 2; --Mostrar el nombre del estudiante, asignatura y las calificaciones de los estudiantes --que ganaron la materia. La materia se gana con un promedio de notas igual o --mayor a 3. select e.nombre, a.nombre_asignatura, avg(c.nota) as promedio from calificaciones c join estudiantes e on c.id_estudiante = e.id_estudiante join asignaturas a on c.id_asignatura = a.id_asignatura group by e.nombre, a.nombre_asignatura having avg(c.nota) >= 3;

Stuck with a problem? Got Error? Ask AI support!

Copy Clear