You are on page 1of 5

DATABASE MANAGEMENT SYSTEM

MINGGU 14 – SQL DEVELOPER


NAMA : SETIAWATI
NPM : 2113218016
NO ABSEN :12
KELAS : A2 TEKNIK INFORMATIKA

Database Foundations
6-9: Joining Tables Using JOIN
Practice Solutions
Exercise 1: Using JOINS in SQL Queries
Overview
In this practice you:

Access data from more than one table using equijoins and non-equijoins

Use OUTER joins to view data that generally does not meet a join condition

Generate a Cartesian Product

Tasks
1.

Display the different courses offered by the departments in the school.

Solution:
SELECT c.ID, c.NAME, d.NAME

FROM AD_COURSES c JOIN AD_DEPARTMENTS d

on(c.dept_id = d.id);
2.

Display the courses offered in the Fall session.

Solution:
SELECT c.NAME, s.NAME

FROM AD_COURSES c JOIN AD_ACADEMIC_SESSIONS s

ON(c.SESSION_ID = s.ID)

WHERE SESSION_ID = 200;

3.

Display the course details, the department that offers the courses and students who have enrolled for
those courses.

Solution:
SELECT c.NAME, STUDENT_ID, d.NAME

FROM AD_STUDENT_COURSE_DETAILS s

JOIN AD_COURSES c

ON c.ID = s.COURSE_ID

JOIN AD_DEPARTMENTS d

ON c.DEPT_ID = d.ID;

academy.oracle.com2
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may
be trademarks of their respective owners.

4.

Display the course details, the department that offers the courses and students who have enrolled for
those courses for

department 20.

Solution:
SELECT c.NAME, STUDENT_ID, d.NAME

FROM AD_STUDENT_COURSE_DETAILS s

JOIN AD_COURSES c

ON c.ID = s.COURSE_ID

JOIN AD_DEPARTMENTS d

ON c.DEPT_ID = d.ID

WHERE d.ID =20;


5.

Write a query to display the details of the exam grades obtained by students who have opted for the
course with ID in the range of

190 to 192.

Solution:
SELECT c.ID, c.NAME, EXAM_GRADE, EXAM_ID

FROM AD_COURSES c JOIN AD_EXAM_RESULTS e

ON (c.ID = e.COURSE_ID)

WHERE course_id BETWEEN 190 AND 192;

6.

Retrieve the rows from the AD_EXAM_RESULTS table even if there are no matching records in the
AD_COURSES table.
Solution:
SELECT e.STUDENT_ID, e.EXAM_GRADE, e.COURSE_ID, c.NAME

FROM AD_EXAM_RESULTS e LEFT OUTER JOIN AD_COURSES c

ON (e.COURSE_ID = c.ID);

7. What output would be generated when the given statement is executed?

SELECT * FROM AD_EXAMS

CROSS JOIN AD_EXAM_TYPES;

Solution:
Executing the above statement would result in a Cartesian product of the AD_EXAM_DETAILS and

AD_EXAM_TYPE tables.

You might also like