How to get the row count from a table related to other table?
You would need an OUTER JOIN to solve this one, particularly a LEFT OUTER JOIN (also known as LEFT JOIN) like so:
SELECT F.FruitID, F.FruitName
FROM Fruits F
LEFT JOIN FruitSubClasses FSC
    ON F.FruitID = FSC.FruitID
WHERE FSC.FruitID IS NULL

A LEFT JOIN returns all rows from the table on the left-hand side of the JOIN clause regardless of the match in the predicate of the ON clause. For rows where there are no matches on the right-hand side, NULL values are returned for the columns of the right-hand table. Knowing this we can then filter out anything that matches in the JOIN with the WHERE clause above, and only get the non-matching Fruits (that don't exist in FruitSubClasses).
And if you wanted just the row counts in a single scalar value, you can use the same query above with the COUNT(*) function like so:
SELECT COUNT(*)
FROM Fruits F
LEFT JOIN FruitSubClasses FSC
    ON F.FruitID = FSC.FruitID
WHERE FSC.FruitID IS NULL