18 ноября 2010

Практика 18 ноября

Разминка

Вы хотите просуммировать суммы выплаченных вашим сотрудникам зарплат за год и вывести в результат табличку с ФИО и суммой. Какие из этих запросов сделают то что вы хотите?
В таблице Payments есть поля employee_id (id сотрудника), name (ФИО сотрудника), month (месяц выплаты) и payment (сумма выплаты).

  1. SELECT name, SUM(payment) FROM Payments GROUP BY employee_id
  2. SELECT name, SUM(payment) FROM Payments GROUP BY employee_id, name
  3. SELECT p2.name, p1.sum_payment FROM
        (SELECT employee_id, SUM(payment) AS sum_payment
         FROM Payments GROUP BY employee_id) AS p1
             JOIN
         Payments p2 ON (p1.employee_id = p2.employee_id)


Слайды