Here is another way to do it. Using the where (col1,col2) might cause Oracle to not use any indexes, but this looks like a table to the query, so it might work better. You will know once you test the various versions.
WITH subject_terms
(subject, term) AS
( SELECT 'STAT' , '111' FROM dual UNION ALL
SELECT 'STAT' , '222' FROM dual UNION ALL
SELECT 'ENGLISH', '555' FROM dual UNION ALL
SELECT 'COMM' , '444' FROM dual UNION ALL
SELECT 'COMM' , '333' FROM dual UNION ALL
SELECT 'STAT' , '666' FROM dual )
SELECT *
FROM foobar fb
INNER JOIN subject_terms st
ON fb.subject = st.subject
AND fb.term = st.term;
DBFiddle Here