Assuming that you are working with MySQL:
You can use a temporary variable to hold the previous value, and then you can calculate the difference. Take a look to this question and its accepted answer.
For your specific purpose, I would create a temp table to hold the data, and then I would query that temp table and calculate the differences:
drop table if exists temp_data;
create temporary table temp_data
select
tname, tdate, score
from
tournaments
natural inner join performances
where
bname = 'Fred';
alter table temp_data
add index idx_tname(tname),
add index idx_tdate(tdate);
select tname, tdate, score, score_dif
from
(
select
tname, tdate,
@prevScore as previousScore,
a.score - @prevScore as score_dif,
@prevScore := a.score as score
from
(
select @prevScore := 0
) as init,
temp_data as a
order by a.tdate
) as calcQuery;
Hope this helps.