SQL упражнения по футболу База данных: найти капитанов для всех матчей в турнире
База данных по футболу на SQL: объединяет упражнение-32 с решением
32. Напишите запрос в SQL, чтобы найти капитанов с другой информацией для всех матчей в турнире.
Пример таблицы: soccer_country
Пример таблицы: match_captain
Пример таблицы: player_mast
Пример решения:
Код SQL:
SELECT match_no,country_name, player_name, jersey_no, posi_to_play
FROM match_captain a
JOIN soccer_country b ON a.team_id=b.country_id
JOIN player_mast c ON a.player_captain=c.player_id
ORDER BY match_no;
Пример вывода:
match_no | название страны | имя_игрока | Jersey_no | posi_to_play ---------- + --------------------- + ----------------- -------- + ----------- + -------------- 1 | Франция | Уго Льорис | 1 | Г.К. 1 | Румыния | Влад Киричес | 6 | DF 2 | Албания | Лорик Кана | 5 | MF 2 | Швейцария | Стефан Лихтштайнер | 2 | DF 3 | Словакия | Мартин Скртел | 3 | DF 3 | Уэльс Эшли Уильямс | 6 | DF 4 | Англия | Уэйн Руни | 10 | FD 4 | Россия | Василий Березуцкий | 14 | DF 5 | Турция | Арда Туран | 10 | MF 5 | Хорватия | Дарио Срна | 11 | DF 6 | Польша | Роберт Левандовски | 9 | FD 6 | Северная Ирландия | Стивен Дэвис | 8 | MF 7 | Германия | Мануэль Нойер | 1 | Г.К. 7 | Украина | Вячеслав Шевчук | 13 | DF 8 | Испания | Серхио Рамос | 15 | DF 8 | Чешская Республика | ТомасРосицки | 10 | MF 9 | Республика Ирландия | Джон Оша | 4 | DF 9 | Швеция | Златан Ибрагимович | 10 | FD 10 | Италия | Джанлуиджи Буффон | 1 | Г.К. 10 | Бельгия | Eden Hazard | 10 | MF 11 | Австрия | Кристиан Фукс | 5 | DF 11 | Венгрия | Balazs Dzsudzsak | 7 | FD 12 | Португалия | Криштиану Роналду | 7 | FD 12 | Исландия | Арон Гуннарссон | 17 | MF 13 | Россия | Василий Березуцкий | 14 | DF 13 | Словакия | Мартин Скртел | 3 | DF 14 | Румыния | Влад Киричес | 6 | DF 14 | Швейцария | Стефан Лихтштайнер | 2 | DF 15 | Франция | Уго Льорис | 1 | Г.К. 15 | Албания | Анси Аголи | 7 | DF 16 | Уэльс Эшли Уильямс | 6 | DF 16 | Англия | Уэйн Руни | 10 | FD 17 | Украина | Вячеслав Шевчук | 13 | DF 17 | Северная Ирландия | Стивен Дэвис | 8 | MF 18 | Польша | Роберт Левандовски | 9 | FD 18 | Германия | Мануэль Нойер | 1 | Г.К. 19 | Швеция | Златан Ибрагимович | 10 | FD 19 | Италия | Джанлуиджи Буффон | 1 | Г.К. 20 | Хорватия | Дарио Срна | 11 | DF 20 | Чешская Республика | ТомасРосицки | 10 | MF 21 | Турция | Арда Туран | 10 | MF 21 | Испания | Серхио Рамос | 15 | DF 22 | Республика Ирландия | Джон Оша | 4 | DF 22 | Бельгия | Eden Hazard | 10 | MF 23 | Исландия | Арон Гуннарссон | 17 | MF 23 | Венгрия | Balazs Dzsudzsak | 7 | FD 24 | Португалия | Криштиану Роналду | 7 | FD 24 | Австрия | Кристиан Фукс | 5 | DF 25 | Албания | Анси Аголи | 7 | DF 25 | Румыния | Влад Киричес | 6 | DF 26 | Швейцария | Стефан Лихтштайнер | 2 | DF 26 | Франция | Уго Льорис | 1 | Г.К. 27 | Россия | Роман Широков | 15 | MF 27 | Уэльс Эшли Уильямс | 6 | DF 28 | Словакия | Мартин Скртел | 3 | DF 28 | Англия | Гэри Кэхилл | 5 | DF 29 | Украина | Руслан Ротан | 14 | MF 29 | Польша | Роберт Левандовски | 9 | FD 30 | Северная Ирландия | Стивен Дэвис | 8 | MF 30 | Германия | Мануэль Нойер | 1 | Г.К. 31 | Чешская Республика | Петр Чех | 1 | Г.К. 31 | Турция | Арда Туран | 10 | MF 32 | Хорватия | Дарио Срна | 11 | DF 32 | Испания | Серхио Рамос | 15 | DF 33 | Исландия | Арон Гуннарссон | 17 | MF 33 | Австрия | Кристиан Фукс | 5 | DF 34 | Венгрия | Balazs Dzsudzsak | 7 | FD 34 | Португалия | Криштиану Роналду | 7 | FD 35 | Республика Ирландия | Симус Коулман | 2 | DF 35 | Италия | Леонардо Бонуччи | 19 | DF 36 | Швеция | Златан Ибрагимович | 10 | FD 36 | Бельгия | Eden Hazard | 10 | MF 37 | Польша | Роберт Левандовски | 9 | FD 37 | Швейцария | Стефан Лихтштайнер | 2 | DF 38 | Уэльс Эшли Уильямс | 6 | DF 38 | Северная Ирландия | Стивен Дэвис | 8 | MF 39 | Хорватия | Дарио Срна | 11 | DF 39 | Португалия | Криштиану Роналду | 7 | FD 40 | Республика Ирландия | Симус Коулман | 2 | DF 40 | Франция | Уго Льорис | 1 | Г.К. 41 | Германия | Мануэль Нойер | 1 | Г.К. 41 | Словакия | Мартин Скртел | 3 | DF 42 | Бельгия | Eden Hazard | 10 | MF 42 | Венгрия | Balazs Dzsudzsak | 7 | FD 43 | Испания | Серхио Рамос | 15 | DF 43 | Италия | Джанлуиджи Буффон | 1 | Г.К. 44 | Исландия | Арон Гуннарссон | 17 | MF 44 | Англия | Уэйн Руни | 10 | FD 45 | Португалия | Криштиану Роналду | 7 | FD 45 | Польша | Роберт Левандовски | 9 | FD 46 | Уэльс Эшли Уильямс | 6 | DF 46 | Бельгия | Eden Hazard | 10 | MF 47 | Италия | Джанлуиджи Буффон | 1 | Г.К. 47 | Германия | Мануэль Нойер | 1 | Г.К. 48 | Исландия | Арон Гуннарссон | 17 | MF 48 | Франция | Уго Льорис | 1 | Г.К. 49 | Португалия | Криштиану Роналду | 7 | FD 49 | Уэльс Эшли Уильямс | 6 | DF 50 | Франция | Уго Льорис | 1 | Г.К. 50 | Германия | Бастиан Швайнштайгер | 7 | MF 51 | Франция | Уго Льорис | 1 | Г.К. 51 | Португалия | Криштиану Роналду | 7 | FD (102 строки)
Практика онлайн
Пример базы данных: футбол
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Напишите запрос в SQL, чтобы найти капитанов четырех лучших команд с другой информацией, которая участвовала в полуфинале (матч 48 и 49) в турнире.
Далее: Напишите запрос в SQL, чтобы найти капитана и вратаря с другой информацией для всех матчей для всей команды.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code