sql query to get all rows if there is no matching row in left join : I've table structure like this:
person (pid, pname)
personSamples(sid,pid,sampleName)
groups(gid,groupName)
groupPersons(gpid,gid,pid)
grouppersonSamples(gpsid,gid,sid)

Whenever a person is added to a group i.e. in groupPersons table, I add some selected samples of person in grouppersonSamples table. 
The requirement is, if I do not insert any row in grouppersonSamples then select all from personSamples for a given person and group.

What I have to do is left join with grouppersonSamples and check if there is no matching row in grouppersonSamples then execute another query to select all from personSamples for given pid.

Is there any way to get all in single query?
