You don't need PL/SQL, it can be done in SQL, but only if the subquery returns just one row.
If
(SELECT WON + LOST
FROM MATCHES
WHERE PLAYERNO = PLAYERS.PLAYERNO)
returns two rows, Oracle doesn't know which of the two rows has the new value of NUMBER_OF_SETS. Then you get the 'single row query returns more than one row' error.