-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patheasy.sql
227 lines (177 loc) · 6.35 KB
/
easy.sql
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
-- 1
-- Вывести имена всех людей,
-- которые есть в базе данных авиакомпаний
SELECT name
FROM Passenger;
-- 3
-- Вывести все рейсы,
-- совершенные из Москвы
SELECT *
FROM Trip
WHERE Trip.town_from = "Moscow";
-- 4
-- Вывести имена людей,
-- которые заканчиваются на "man"
SELECT name
FROM Passenger
WHERE name LIKE "%man";
-- 5
-- Вывести количество рейсов,
-- совершенных на TU-134
SELECT COUNT(*) AS COUNT
FROM Trip
WHERE Trip.plane = "TU-134";
-- 6
-- Какие компании совершали перелеты на Boeing
SELECT DISTINCT name
FROM Company
INNER JOIN Trip ON Company.id = Trip.company
WHERE Trip.plane = "Boeing";
-- 7
-- Вывести все названия самолётов,
-- на которых можно улететь в Москву (Moscow)
SELECT DISTINCT plane
FROM Trip
WHERE Trip.town_to = 'Moscow';
-- 9
-- Какие компании организуют перелеты из Владивостока (Vladivostok)?
SELECT DISTINCT name
FROM Company
INNER JOIN Trip ON Trip.company = Company.id
WHERE Trip.town_from = 'Vladivostok';
-- 12
-- Выведите идентификаторы всех рейсов
-- и количество пассажиров на них. Обратите внимание,
-- что на каких-то рейсах пассажиров может не быть.
-- В этом случае выведите число "0".
SELECT Pass_in_trip.trip AS trip,
COUNT(Passenger.id) AS COUNT
FROM Pass_in_trip
INNER JOIN Passenger ON Passenger.id = Pass_in_trip.passenger
GROUP BY Pass_in_trip.trip;
-- 14
-- В какие города летал Bruce Willis
SELECT town_to
FROM Trip
INNER JOIN Pass_in_trip ON Trip.id = Pass_in_trip.trip
INNER JOIN Passenger ON Pass_in_trip.passenger = Passenger.id
WHERE Passenger.name = 'Bruce Willis';
-- 15
-- Выведите дату и время прилёта пассажира
-- Стив Мартин (Steve Martin) в Лондон (London)
SELECT time_in
FROM Trip
INNER JOIN Pass_in_trip ON Trip.id = Pass_in_trip.trip
INNER JOIN Passenger ON Pass_in_trip.passenger = Passenger.id
WHERE Passenger.name = 'Steve Martin'
AND Trip.town_to = 'London';
-- 19
-- Определить, кто из членов семьи
-- покупал картошку (potato)
SELECT DISTINCT status
FROM FamilyMembers
INNER JOIN Payments ON FamilyMembers.member_id = Payments.family_member
INNER JOIN Goods ON Payments.good = Goods.good_id
WHERE Goods.good_name = 'potato';
-- 22
-- Найти имена всех матерей (mother)
SELECT DISTINCT member_name
FROM FamilyMembers
WHERE FamilyMembers.status = 'mother';
-- 28
-- Сколько рейсов совершили авиакомпании
-- из Ростова (Rostov) в Москву (Moscow) ?
SELECT COUNT(*) AS COUNT
FROM Trip
WHERE Trip.town_from = 'Rostov'
AND Trip.town_to = 'Moscow';
-- 34
-- Сколько всего 10-ых классов
SELECT COUNT(*) AS COUNT
FROM Class
WHERE Class.name LIKE '10%';
-- 36
-- Выведите информацию об обучающихся
-- живущих на улице Пушкина (ul. Pushkina)
FROM Student
WHERE Student.address LIKE 'ul. Pushkina%';
-- 38
-- Сколько Анн (Anna) учится в школе ?
SELECT COUNT(*) AS count
FROM Student
WHERE Student.first_name = 'Anna';
-- 39
-- Сколько обучающихся в 10 B классе ?
SELECT COUNT(*) AS count
FROM Class
INNER JOIN Student_in_class ON Class.id = Student_in_class.class
WHERE Class.name = '10 B';
-- 41
-- Выясните, во сколько по расписанию
-- начинается четвёртое занятие.
SELECT DISTINCT start_pair
FROM Timepair
INNER JOIN Schedule ON Timepair.id = Schedule.number_pair
WHERE Schedule.number_pair = 4;
-- 53
-- Измените имя "Andie Quincey" на новое "Andie Anthony".
UPDATE FamilyMembers
SET FamilyMembers.member_name = 'Andie Anthony'
WHERE FamilyMembers.member_name = 'Andie Quincey';
-- 56
-- Удалить все перелеты,
-- совершенные из Москвы (Moscow).
DELETE
FROM Trip
WHERE Trip.town_from = 'Moscow';
-- 74
-- Выведите идентификатор и признак наличия интернета в помещении.
-- Если интернет в сдаваемом жилье присутствует,
-- то выведите «YES», иначе «NO».
SELECT id,
CASE
WHEN has_internet = 1 THEN 'YES'
WHEN has_internet = 0 THEN 'NO'
END
AS has_internet
FROM Rooms;
-- 75
-- Выведите фамилию, имя и дату рождения студентов,
-- кто был рожден в мае.
SELECT last_name, first_name, birthday
FROM Student
WHERE MONTH(birthday) = 5;
-- 99
-- Посчитай доход с женской аудитории (доход = сумма(price * items)).
-- Обратите внимание,
-- что в таблице женская аудитория имеет поле user_gender «female» или «f».
SELECT SUM(price * items) AS income_from_female
FROM Purchases
WHERE user_gender = 'f' OR user_gender = 'female';
-- 103
-- Вывести список имён сотрудников,
-- получающих большую заработную плату,
-- чем у непосредственного руководителя.
SELECT e.name
FROM Employee e
INNER JOIN Employee c ON e.chief_id = c.id
WHERE e.salary > c.salary;
-- 109
-- Выведите название страны,
-- где находится город «Salzburg»
SELECT DISTINCT Countries.name AS country_name
FROM Countries
INNER JOIN Regions ON Countries.id = Regions.countryid
INNER JOIN Cities ON Regions.id = Cities.regionid
WHERE Cities.name = 'Salzburg';
-- 114
-- Напишите запрос,
-- который выведет имена пилотов,
-- которые в качестве второго пилота (second_pilot_id)
-- в августе 2023 года летали в New York
SELECT Pilots.name AS name
FROM Pilots
INNER JOIN Flights ON Pilots.pilot_id = Flights.second_pilot_id
WHERE MONTH(Flights.flight_date) = 8
AND YEAR(Flights.flight_date) = 2023
AND Flights.destination = 'New York';