Если я вас правильно понимаю, вы хотите, чтобы все вакансии были общедоступны и связаны с университетом.Это подразумевало бы довольно простое объединение:
SELECT ... FROM job_postings NATURAL JOIN job_to_universities
WHERE univ_id = ? AND is_public = 1
Если вы хотите получать все объявления о вакансиях, которые являются либо общедоступными, либо связаны с университетом, вы можете написать что-то вроде:
SELECT ... FROM job_postings WHERE is_public = 1
OR post_id IN (SELECT post_id FROM job_to_universities WHERE univ_id = ?)
Или используйте UNION DISTINCT
:
SELECT ... FROM job_postings WHERE is_public = 1
UNION DISTINCT
SELECT ... FROM job_postings NATURAL JOIN job_to_universities
WHERE univ_id = ?