Построитель запросов - получение данных

Сейчас мы с вами начнем изучать построитель SQL запросов, встроенный в Laravel.

Для начала сделайте следующую таблицу:

Сделайте через PhpMyAdmin таблицу employees (работники) с полями id, name (имя), birthday (дата рождения), position (должность), salary (зарплата). Добавьте в эту таблицу следующих работников:

id
айди
name
имя
birthday
дата рождения
position
должность
salary
зарплата
1 Дима 1988-03-25 дизайнер 400
2 Петя 1989-03-26 дизайнер 500
3 Вася 1990-05-26 верстальщик 500
4 Коля 1990-03-25 верстальщик 1000
5 Иван 1991-05-27 программист 500
6 Кирилл 1990-06-27 программист 1000

Все задачи ниже будут по этой таблице, если не сказано иное.

Получение всех записей таблицы

По следующей ссылке изучите раздел Получение всех записей таблицы. Решите затем следующие задачи:

Получите все записи из таблицы employees и выведите их в представлении в виде таблицы table.

Указание столбцов для выборки

По следующей ссылке изучите раздел Указание столбцов для выборки. Решите затем следующие задачи:

Модифицируйте предыдущую задачу так, чтобы запрос получал только поле с именем и поле с зарплатой работника.

Простые условия WHERE

По следующей ссылке изучите раздел Простые условия WHERE. Решите затем следующие задачи:

Из таблицы employees получите всех работников с зарплатой 500.

Из таблицы employees получите всех работников с зарплатой более 450.

Из таблицы employees получите всех работников с зарплатой, не равной 500.

Условия ИЛИ

По следующей ссылке изучите раздел Условия ИЛИ. Решите затем следующие задачи:

Из таблицы employees получите всех работников с зарплатой 400 или id, большем 4.

Получение одной строки из таблицы

По следующей ссылке изучите раздел Получение одной строки/столбца из таблицы. Решите затем следующие задачи:

Из таблицы employees получите работника с id, равным 3.

Из таблицы employees получите работника имя работника id, равным 5.

Получение списка всех значений одного столбца

По следующей ссылке изучите раздел Получение списка всех значений одного столбца. Решите затем следующие задачи:

Из таблицы employees получите массив имен работников.

Дополнительные условия WHERE

По следующей ссылке изучите раздел Дополнительные условия WHERE (читать все до раздела Группировка условий). Решите затем следующие задачи:

Из таблицы employees получите работников, зарплата которых находится в промежутке от 450 до 1100.

Из таблицы employees получите работников, зарплата которых находится НЕ в промежутке от 300 до 600.

Из таблицы employees получите работников с id, равными 1, 2, 3 и 5.

Из таблицы employees получите работников с id, НЕ равными 1, 2, 3.

Группировка условий

По следующей ссылке изучите раздел Группировка условий. Решите затем следующие задачи:

Из таблицы employees получите работников, у которых зарплата id от 1 до 3, либо зарплата от 400 до 800.

Динамические условия WHERE

По следующей ссылке изучите раздел Динамические условия WHERE. Решите затем следующие задачи:

Из таблицы employees получите работников, у которых зарплата равна 500 ИЛИ должность 'программист'.

Из таблицы employees получите работников, у которых зарплата равна 500 И должность 'программист'.

Метод whereColumn

По следующей ссылке изучите раздел whereColumn. Решите затем следующие задачи:

Сделайте таблицу events (мероприятия), с полями id, name (название), start (начало мероприятия), finish (конец мероприятия).

id
айди
name
название
start
начало мероприятия
finish
конец мероприяти
1 Мероприятие 1 2020-03-25 2020-03-26
2 Мероприятие 2 2020-04-21 2020-04-21
3 Мероприятие 3 2020-05-23 2020-05-23
4 Мероприятие 4 2020-06-23 2020-06-28

Из таблицы events получите мероприятия, у которых дата начала и дата конца приходится на один и тот же день.

Сортировка

По следующей ссылке изучите раздел orderBy (читать до раздела groupBy). Решите затем следующие задачи:

Из таблицы employees получите всех работников и отсортируйте их по возрастанию зарплаты.

Из таблицы employees получите всех работников и отсортируйте их по убыванию даты рождения.

Агрегатные функции

По следующей ссылке изучите раздел Агрегатные функции. Решите затем следующие задачи:

Из таблицы employees получите максимальную зарплату.

Из таблицы employees получите суммарную зарплату всех работников.

Группировка groupBy

По следующей ссылке изучите раздел groupBy. Решите затем следующие задачи:

Из таблицы employees для каждой должности получите минимальную зарплату.

Из таблицы employees для каждой должности получите суммарную зарплату.

Слияние (UNION)

По следующей ссылке изучите раздел Слияние (UNION).

Дата

По следующей ссылке изучите раздел whereDate / whereMonth / whereDay / whereYear. Решите затем следующие задачи:

Из таблицы employees получите работника, у которого день рождения приходится на дату 1988-03-25.

Из таблицы employees получите работников, у которых день рождения приходится на 25 день месяца.

Из таблицы employees получите работников, у которых день рождения в марте.

Из таблицы employees получите работников, родившихся в 1990 году.