Использование этого запроса без включения таблицы b
достаточно из-за ожидаемого результата и в зависимости от данных в ваших таблицах:
with a(ALIAS, LEVEL_20, POINTS, "DATE") as
(
select 'Jbax',300,325,date'2018-06-20' from dual union all
select 'Cvg2',100,103,date'2018-06-20' from dual union all
select 'Deg1',200,281,date'2018-06-20' from dual
), b(ALIAS, CODE_LEVEL, PRIZE, "DATE") as
(
select 'Jbax','Level_20',500,date'2017-01-15' from dual union all
select 'Jbax','Level_10',200,date'2017-03-20' from dual union all
select 'Cvg2','Level_20',100,date'2017-04-05' from dual union all
select 'Deg1',null,null,null from dual union all
select 'Cvg2','Level_20',50,date'2017-02-01' from dual
), c(ALIAS,NAME) as
(
select 'Jbax','Jessie' from dual union all
select 'Cvg2','Carol' from dual union all
select 'Deg1','Danny' from dual
)
select c.name, a.level_20
from c
join a on a.alias = c.alias
where (a.alias,a.level_20) not in
(select a.alias,b.prize
from a
join b on b.prize = a.level_20 and b.code_level = 'Level_20');
NAME LEVEL_20
------ --------
Jessie 300
Danny 200
PS В таблице нет нескольких значений PRIZE b
Демо