Natural Join: Students and Enrollments
Mediumsql
nstudents(student_id, name) and nenrollments(student_id, course_id) share the student_id column. Write a query implementing a Natural Join between them, returning student_id, name, and course_id for every enrollment, ordered by student_id then course_id.
sqlCREATE TABLE nstudents (student_id INTEGER PRIMARY KEY, name TEXT NOT NULL); CREATE TABLE nenrollments (student_id INTEGER NOT NULL, course_id INTEGER NOT NULL);
Sample data (this is what your query runs against when you press Run):
sqlINSERT INTO nstudents (student_id, name) VALUES (1, 'Asha'), (2, 'Rohan'), (3, 'Neha'); INSERT INTO nenrollments (student_id, course_id) VALUES (1, 101), (1, 102), (2, 101), (3, 103);
Example 1
Input
(none)
Output
student_id name course_id 1 Asha 101 1 Asha 102 2 Rohan 101 3 Neha 103
NATURAL JOIN automatically matches on the shared studentid column and includes it only once. Reference: `SELECT s.studentid, s.name, e.courseid FROM nstudents s NATURAL JOIN nenrollments e ORDER BY s.studentid, e.course_id;`