Have a look there:
https://sqlite.org/lang_createtable.html
in the column def -> column contraint -> foreign key clause
you will see a "on delete cascade" possibility.
So here you have your MyFruit table and you CrossRef table. The CrossRef has a reference to the MyFruit table, and you chose to add the "on delete cascade" statement on that reference when you create the table.
This means, if you delete the source of the reference (in the MyFruit table), the referring row (in the CrossRef table) is also deleted (cascade)! Otherwise, you will have integrity errors, with references on no longer existing fruits in your CrossRef table. Or you will need two DELETE statements, one for the CrossRef and only then, for the MyFruit.
With the "on delete cascade", you just need to write the delete statement: DELETE FROM MyFruit WHERE MyFruit.FruitID = .......
But beware, such statements need to be handled with caution, there are no warnings on delete.
This was for completely deleting a fruit. You can do the same to completely delete a basket.
If you want to remove a fruit from a basket, you just need to DELETE FROM CrossRef WHERE CrossRef.FruitID = ....... AND CrossRef.BasketID = ........
If you need to empty a basket, just DELETE FROM CrossRef WHERE CrossRef.BasketID = ........
If you need to remove a fruit from every baskets, just DELETE FROM CrossRef WHERE CrossRef.FruitID = ........
You can work your way through with that
Cheers,