Como não existe um método pra saber quantas linhas retornaram em um ResultSet, eu tenho duas alternativas para o seu problema.
A primeira é você fazer a mesma consulta no seu banco, só que pedindo a quantidade de registros (“select COUNT(*) from dbamv.servico s, dbamv.escala_cirurgia e where e.cd_servico = s.cd_servico and dt_escala = ? and cd_sal_cir = ? and tp_turno = ?”). Aí você vê quantos registros deu. Se tiver dado pelo menos um, você faz a consulta novamente, só que pedindo os campos que você quer. Se não, você já sabe que não tem nada e pode colocar “SEM REGISTRO”.
A segunda idéia (que é mais viável) é você usar uma variávelzinha booleana pra indicar se você entrou ou não dentro do while (rs.next()). Se tiver entrado, pelo menos uma vez, é porque você encontrou pelo menos um registro. Se não, aí você coloca “SEM REGISTRO” onde você falou. Por exemplo: