simplifying SQL - Mailing list pgsql-general

From garry saddington
Subject simplifying SQL
Date
Msg-id 1170921254.10217.23.camel@localhost
Whole thread Raw
Responses Re: simplifying SQL  (Richard Huxton <dev@archonet.com>)
List pgsql-general
I have this query which essentially returns records that exist in one
table (studentclass) and not another (effortandattainment) to check when
teachers have entered their student grades.

select
distinct(studentclass.studentclassid),classes.subject,studentclass.studentid as
classstudent,classes.teacher,students.studentid,students.firstname,students.surname 
from studentclass left join effortandattainment
on(effortandattainment.classid=studentclass.classid and
effortandattainment.studentid=studentclass.studentid),students,classes

where students.studentid=studentclass.studentid
and studentclass.classid=classes.classid
and studentclass.classid not in (
select studentclass.classid
from studentclass inner join effortandattainment
on(effortandattainment.classid=studentclass.classid and
effortandattainment.studentid=studentclass.studentid)
)

I was wondering whether a simpler method exists to do the same thing or
is this OK.
Regards
Garry


pgsql-general by date:

Previous
From: brian
Date:
Subject: Re: 'greatest' function?
Next
From: Hannes Dorbath
Date:
Subject: Re: DBI-Link 2.0