powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запросы к БД
2 сообщений из 2, страница 1 из 1
Запросы к БД
    #40111857
Kekinc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, помогите создать запросы для базы данных по условию.

Само задание:
Минимальный список характеристик:

· Номер самолета, тип, число мест, скорость полета;

· Номер маршрута, расстояние, пункт вылета, пункт назначения;

· Дата и время вылета, дата и время прилета, количество проданных билетов.

Один тип самолета может летать на разных маршрутах и по одному маршруту могут летать разные типы самолетов.

Запросы:

· Определить среднее расчетное время полета для самолета 'ТУ-154' по маршруту 'Чугуев' - 'Мерефа'.

· Выбрать марку самолета, которая чаще всего летает по тому же маршруту.

· Выбрать маршрут/маршруты, по которым чаще всего летают рейсы, заполненные менее чем на 70%.

· Определить наличие свободных мест на рейс №870 31 декабря 2000 г.

Сам код бд:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
create table samolet (
  nomer_s int,
  tip_s varchar(25),
  mest_s int,
  s_s int,
  primary key (nomer_s)
 );
create table route (
  nomer_m int,
  distance_m int,
  departure varchar(25),
  destination varchar(25),
  primary key (nomer_m)
 );
 create table box_office (
  nomer_s int,
  nomer_m int,
  kollvo_prod_tickets int,
  dat_vrem_vilet datetime,
  dat_vrem_prilet datetime,
  primary key (nomer_m)
 );
insert into samolet values
  (1,'ТУ-154', 180, 950),
  (2,'Як-42', 120, 810),
  (3,'Як-40', 32, 550);
insert into route values
  (1, 1067, 'Чугуев','Мерефа'),
  (2, 2811, 'Новосибирск','Москва'),  
  (3, 635, 'Санкт-Петербург','Москва'),
  (4, 635, 'Москва','Санкт-Петербург'),
  (5, 1067, 'Чугуев','Мерефа'),
  (6, 1434, 'Новосибирск','Иркутск'),
  (7, 1067, 'Чугуев','Мерефа'),
  (870, 1179, 'Новосибирск','Братск');
 insert into box_office values
  (1,1, 180, '2021-04-01 15:30', '2021-04-01 17:45'),
  (1,5, 140, '2021-09-05 10:30', '2021-09-05 12:45'), 
  (1,7, 155, '2021-08-03 17:30', '2021-08-03 19:45'),
  (2,3, 40, '2021-04-07 13:25', '2021-04-07 14:45'),
  (3,4, 10, '2021-02-03 11:15', '2021-02-03 15:55'),
  (2,870, 100, '2010-12-31 14:35', '2010-12-31 17:35');
...
Рейтинг: 0 / 0
Запросы к БД
    #40111996
Dadont
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT SEC_TO_TIME(AVG(TIME_TO_SEC(TIMEDIFF(box_office.dat_vrem_prilet,box_office.dat_vrem_vilet)))) FROM samolet, route, box_office WHERE samolet.tip_s = "ТУ-154" AND samolet.nomer_s = box_office.nomer_s AND box_office.nomer_m = route.nomer_m AND route.departure = "Чугуев" AND route.destination = "Мерефа"

SELECT samolet.tip_s FROM samolet, route, box_office WHERE samolet.nomer_s = box_office.nomer_s AND box_office.nomer_m = route.nomer_m AND route.departure = "Чугуев" AND route.destination = "Мерефа" GROUP BY samolet.tip_s ORDER BY COUNT(*) DESC LIMIT 1

SELECT route.nomer_m FROM samolet, route, box_office WHERE samolet.nomer_s = box_office.nomer_s AND box_office.nomer_m = route.nomer_m AND (box_office.kollvo_prod_tickets * 100 / samolet.mest_s) < 70

SELECT samolet.mest_s - box_office.kollvo_prod_tickets FROM samolet, route, box_office WHERE samolet.nomer_s = box_office.nomer_s AND box_office.nomer_m = route.nomer_m AND route.nomer_m = 870 AND DATE(box_office.dat_vrem_vilet) = "2010-12-31"
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запросы к БД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]