Добавил:
при поддержке музыки группы Anacondaz Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курило_ЛабРаб4.docx
Скачиваний:
1
Добавлен:
16.05.2025
Размер:
192.51 Кб
Скачать

4 Выполнение лабораторной работы

Пример запроса с условием и объединением таблиц (JOIN) изображен на рисунке 1.

Рисунок 1 – Запрос объединения

Этот запрос выбирает всех водителей и их выплаты, где премия больше 400.

Пример запроса с сортировкой данных изображен на рисунке 2.

Рисунок 2 – Сортировка таблицы

Этот запрос сортирует маршруты от самого короткого к самому длинному.

Пример запроса с использованием агрегации GROUP BY представлен на рисунке 3.

Рисунок 3 – Пример группировки данных

Этот запрос показывает количество отправлений для каждого маршрута. Пример запроса с использованием LIMIT представлен на рисунке 4.

Рисунок 4 – Пример запроса

Этот запрос выбирает первые 3 записи из таблицы платежей.

Листинг 1. Процесс Выполнения задания

mysql> SELECT * FROM DRIVERS

-> JOIN PAYMENT ON DRIVERS.driver_id = PAYMENT.p_driver_id

-> WHERE PAYMENT.p_bonus > 400;

+-----------+--------------------+----------------+--------------------+-------------+--------+------------+-------------+---------+

| driver_id | d_surname | d_name | d_patronymic | d_experiens | pay_id | p_trans_id | p_driver_id | p_bonus |

+-----------+--------------------+----------------+--------------------+-------------+--------+------------+-------------+---------+

| 3 | Кузнецов | Дмитрий | Сергеевич | 10 | 1 | 1 | 3 | 500.00 |

| 1 | Иванов | Алексей | Петрович | 7 | 2 | 2 | 1 | 450.00 |

| 5 | Васильева | Ольга | Андреевна | 5 | 4 | 4 | 5 | 402.50 |

+-----------+--------------------+----------------+--------------------+-------------+--------+------------+-------------+---------+

3 rows in set (0.00 sec)

mysql> SELECT * FROM ROUTES ORDER BY r_mileage;

+---------+---------------------------------------------------+-----------+---------+

| rout_id | r_name | r_mileage | r_rate |

+---------+---------------------------------------------------+-----------+---------+

| 4 | Ростов-на-Дону - Краснодар | 300 | 1500.00 |

| 3 | Казань - Нижний Новгород | 400 | 1800.00 |

| 1 | Москва - Санкт-Петербург | 700 | 2750.00 |

| 5 | Владивосток - Хабаровск | 750 | 3080.00 |

| 2 | Екатеринбург - Новосибирск | 900 | 3520.00 |

+---------+---------------------------------------------------+-----------+---------+

5 rows in set (0.00 sec)

mysql> -- Количество перевозок по каждому маршруту

mysql> SELECT t_rout_id, COUNT(*) AS total_shipments

-> FROM TRANSPORTATIONS

-> GROUP BY t_rout_id;

+-----------+-----------------+

| t_rout_id | total_shipments |

+-----------+-----------------+

| 1 | 1 |

| 2 | 1 |

| 3 | 1 |

| 4 | 1 |

| 5 | 1 |

+-----------+-----------------+

5 rows in set (0.00 sec)

mysql> -- Первые 3 записи из таблицы PAYMENT

mysql> SELECT * FROM PAYMENT LIMIT 3;

+--------+------------+-------------+---------+

| pay_id | p_trans_id | p_driver_id | p_bonus |

+--------+------------+-------------+---------+

| 1 | 1 | 3 | 500.00 |

| 2 | 2 | 1 | 450.00 |

| 3 | 3 | 2 | 345.00 |

+--------+------------+-------------+---------+

3 rows in set (0.00 sec)

Соседние файлы в предмете Интеллектуальные базы данных