Professional Documents
Culture Documents
Exercise
1. Create a database named exercise4
2. Create and populate the tables with the given values in database exercise 4
Lecturer(Lecturer_ID, Lecturer_Name)
Page 1|8
M. Chinyuku Database Systems 2028
SELECT Course_ID,Course_Name
FROM course
where Lecturer_ID IS NULL;
(INNER) JOIN
• Returns records (rows) that have matching values in both tables
• Alias Join, or natural Join
Syntax- JOIN
SELECT columns
FROM table1
INNER JOIN table2
ON table1.column = table2.column;
SELECT *
FROM lecturer
INNER JOIN course
ON lecturer.Lecturer_ID = course.Lecturer_ID;
4. Give a list of all lecturer names that teach at least one course
SELECT Lecturer_Name
FROM lecturer
INNER JOIN course
ON lecturer.Lecturer_ID = course.Lecturer_ID;
Page 2|8
M. Chinyuku Database Systems 2028
5. List the lecturer names and course details of lecturers who teach at least one course.
6. List all lecturer names and the names of the courses they teach
SELECT lecturer.Lecturer_Name
FROM lecturer
INNER JOIN course
ON lecturer.Lecturer_ID = course.Lecturer_ID
where Course_Name = "Programming";
Page 3|8
M. Chinyuku Database Systems 2028
SELECT *
FROM lecturer
LEFT JOIN course
ON lecturer.Lecturer_ID = course.Lecturer_ID;
SELECT lecturer.Lecturer_Name
FROM lecturer
LEFT JOIN course
ON lecturer.Lecturer_ID = course.Lecturer_ID
where Course_ID is null;
Page 4|8
M. Chinyuku Database Systems 2028
SELECT *
FROM lecturer
RIGHT JOIN course
ON lecturer.Lecturer_ID = course.Lecturer_ID;
SELECT course.Course_Name
FROM lecturer
RIGHT JOIN course
ON lecturer.Lecturer_ID = course.Lecturer_ID
WHERE course.Lecturer_ID is NULL ;
SELECT course.Course_Name
FROM lecturer
RIGHT JOIN course
ON lecturer.Lecturer_ID = course.Lecturer_ID
WHERE course.Lecturer_ID is NOT NULL;
Page 5|8
M. Chinyuku Database Systems 2028
Page 6|8
M. Chinyuku Database Systems 2028
Summary
• JOINS allow to combine data from more than one table into a single result set.
• INNER JOINS only return rows that meet the given criteria.
• OUTER JOINS can also return rows where no matches have been found. The unmatched
rows are returned with the NULL keyword.
Page 7|8
M. Chinyuku Database Systems 2028
• The major JOIN types include Inner, Left Outer, Right Outer, Cross JOINS etc.
• The frequently used clause in JOIN operations is "ON". "USING" clause requires that
matching columns be of the same name.
• JOINS can also be used in other clauses such as GROUP BY, WHERE, SUB QUERIES,
AGGREGATE FUNCTIONS etc.
SQL statement processing order (adapted from van der Lans, 2006, p. 100)
Page 8|8