What is semi-join in database?
Simple example. Let’s select students with grades using left outer join: SELECT DISTINCT s.id FROM students s LEFT JOIN grades g ON g.student_id = s.id WHERE g.student_id IS NOT NULL Now the same with left semi-join: SELECT s.id FROM students s WHERE EXISTS (SELECT 1 FROM grades g WHERE g.student_id = s.id) The latter is … Read more