Het is mogelijk met deze kleine truc (OUTER JOIN op de veel-op-veel-tabel, met de beperking dat de GroupID 3 moet zijn (voor Drama)
http://sqlfiddle.com/#!9/01cf3/1
SELECT elements.ID, elements.Element, groups.Genre
FROM elements
LEFT OUTER JOIN group_elements
ON elements.ID = group_elements.ElementID
AND group_elements.GroupID = 3
LEFT OUTER JOIN groups
ON group_elements.GroupID = groups.ID
LEFT OUTER JOIN
betekent :neem alle regels uit de tabellen die eraan voorafgingen (die aan de LINKERkant van de LEFT OUTER JOIN
, als u wilt), zelfs als er geen regels zijn die daarmee overeenkomen in de volgende tabellen. De voorwaarde ON elements.ID = group_elements.ElementID AND group_elements.GroupID = 3
zegt dat als we iets vinden dat overeenkomt met onze ElementID, het ook een drama moet zijn (GroupID =3). We doen dan nog een LEFT OUTER JOIN op de groepstabel, waardoor we de kolom Genre kunnen weergeven, of NULL als het element geen drama was.