Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

JOIN clause SQL

I need help with a problem I have to solve with SQL.

Using -JOIN I have to display the students that were not enrolled in any courses. Using two tables: db1.ncc.Student and db1.ncc.Registration. Student table has 4 students and in table registration there’s only three out of those four.

In my last attempt to solve this I tried using a -LEFT JOIN to get all the matches and the unmatched student from the student table then I used -WHERE to try and filter the results to only the unmatched student.

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

I was unsuccessful and after trying many other ways previous to this one I’ve given up and started seeking some help.

select 
    STUDENT.StudentID
    , STUDENT.StudentName
from db1.ncc.STUDENT left join db1.ncc.REGISTRATION on STUDENT.StudentID=REGISTRATION.StudentID
where REGISTRATION.StudentID<>STUDENT.StudentID

note: I have to use join to do this

>Solution :

You are almost there. The LEFT JOIN is the good approach, but then in the WHERE clause you want to check the the join did not match. The inequality check does not work because the "missing" value is NULL, and NULL != ... is always false.

Instead, you can explicitly check for the nullity of the registration column:

select s.StudentID, s.StudentName 
from db1.ncc.STUDENT s
left join db1.ncc.REGISTRATION r on r.StudentID=s.StudentID 
where r.StudentID IS NULL

Side note: table aliases (here: s and r) makes queries easier to write and read.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading