Find the company that has the smallest payroll

Your subquery

SELECT company-name, sum(salary)
FROM works
GROUP BY company-name

will give you the cumulative salaries (payrolls) for each company.
If you order those data in ascending order, the first record will be the company with the smallest payroll.

SELECT company-name, sum(salary)
FROM works
GROUP BY company-name
ORDER BY sum(salary)

You can than use MySQL's LIMIT clause to restrict that recordset just to a single record, using

SELECT company-name, sum(salary)
FROM works
GROUP BY company-name
ORDER BY sum(salary)
LIMIT 1

I'll give you a further hint. The < is what's wrong (think carefully about what the subquery returns).