кодесурса

SQL упражнения по футболу База данных: найти капитана и вратаря на все матчи для всей команды

script1adsense2code
script1adsense3code

База данных по футболу на SQL: объединяет решение 33 с решением

33. Напишите запрос в SQL, чтобы найти капитана и вратаря с другой информацией для всех матчей для всей команды.

Пример таблицы: soccer_country


Пример таблицы: match_captain


Пример таблицы: match_details


Пример таблицы: player_mast


Пример решения:

Код SQL:

SELECT a.match_no,c.player_name as "Captain", 
d.player_name as "Goal Keeper",e.country_name
FROM match_captain a
NATURAL JOIN match_details b
JOIN soccer_country e ON b.team_id=e.country_id
JOIN player_mast c ON a.player_captain=c.player_id
JOIN player_mast d ON b.player_gk=d.player_id;

Пример вывода:

 match_no | Капитан | Вратарь | название страны
---------- + ------------------------- + ------------- -------- + --------------------
        1 | Уго Льорис | Уго Льорис | Франция
        1 | Влад Киричес | Киприан Татарусану | Румыния
        2 | Лорик Кана | Этрит Бериша | Албания
        2 | Стефан Лихтштайнер | Ян Соммер | Швейцария
        3 | Эшли Уильямс | Дэнни Уорд | Уэльс
        3 | Мартин Скртел | МатусКозачик | Словакия
        4 | Уэйн Руни | Джо Харт | Англия
        4 | Василий Березуцкий | Игорь Акинфеев | Россия
        5 | Арда Туран | Волкан Бабаджан | Турция
        5 | Дарио Срна | Даниэль СубаСик | Хорватия
        6 | Роберт Левандовски | Войцех Щесны | Польша
        6 | Стивен Дэвис | Майкл Макговерн | Северная Ирландия
        7 | Мануэль Нойер | Мануэль Нойер | Германия
        7 | Вячеслав Шевчук | Андрей Пятов | Украина
        8 | Серхио Рамос | Дэвид де Хеа | Испания
        8 | ТомасРосицки | Петр Чех | Чехия
        9 | Джон Оша | Даррен Рэндольф | Республика Ирландия
        9 | Златан Ибрагимович | Андреас Исакссон | Швеция
       10 | Eden Hazard | Тибо Куртуа | Бельгия
       10 | Джанлуиджи Буффон | Джанлуиджи Буффон | Италия
       11 | Кристиан Фукс | Роберт Альмер | Австрия
       11 | Balazs Dzsudzsak | Габор Киралы | Венгрия
       12 | Криштиану Роналду | Руи Патрисио | Португалия
       12 | Арон Гуннарссон | Ханнес Халлдорссон | Исландия
       13 | Василий Березуцкий | Игорь Акинфеев | Россия
       13 | Мартин Скртел | МатусКозачик | Словакия
       14 | Влад Киричес | Киприан Татарусану | Румыния
       14 | Стефан Лихтштайнер | Ян Соммер | Швейцария
       15 | Уго Льорис | Уго Льорис | Франция
       15 | Анси Аголи | Этрит Бериша | Албания
       16 | Уэйн Руни | Джо Харт | Англия
       16 | Эшли Уильямс | Уэйн Хеннесси | Уэльс
       17 | Вячеслав Шевчук | Андрей Пятов | Украина
       17 | Стивен Дэвис | Майкл Макговерн | Северная Ирландия
       18 | Мануэль Нойер | Мануэль Нойер | Германия
       18 | Роберт Левандовски | Лукаш Фабиански | Польша
       19 | Джанлуиджи Буффон | Джанлуиджи Буффон | Италия
       19 | Златан Ибрагимович | Андреас Исакссон | Швеция
       20 | ТомасРосицки | Петр Чех | Чехия
       20 | Дарио Срна | Даниэль СубаСик | Хорватия
       21 | Серхио Рамос | Дэвид де Хеа | Испания
       21 | Арда Туран | Волкан Бабаджан | Турция
       22 | Eden Hazard | Тибо Куртуа | Бельгия
       22 | Джон Оша | Даррен Рэндольф | Республика Ирландия
       23 | Арон Гуннарссон | Ханнес Халлдорссон | Исландия
       23 | Balazs Dzsudzsak | Габор Киралы | Венгрия
       24 | Криштиану Роналду | Руи Патрисио | Португалия
       24 | Кристиан Фукс | Роберт Альмер | Австрия
       25 | Влад Киричес | Киприан Татарусану | Румыния
       25 | Анси Аголи | Этрит Бериша | Албания
       26 | Стефан Лихтштайнер | Ян Соммер | Швейцария
       26 | Уго Льорис | Уго Льорис | Франция
       27 | Роман Широков | Игорь Акинфеев | Россия
       27 | Эшли Уильямс | Уэйн Хеннесси | Уэльс
       28 | Мартин Скртел | МатусКозачик | Словакия
       28 | Гэри Кэхилл | Джо Харт | Англия
       29 | Руслан Ротан | Андрей Пятов | Украина
       29 | Роберт Левандовски | Лукаш Фабиански | Польша
       30 | Стивен Дэвис | Майкл Макговерн | Северная Ирландия
       30 | Мануэль Нойер | Мануэль Нойер | Германия
       31 | Петр Чех | Петр Чех | Чехия
       31 | Арда Туран | Волкан Бабаджан | Турция
       32 | Дарио Срна | Даниэль СубаСик | Хорватия
       32 | Серхио Рамос | Дэвид де Хеа | Испания
       33 | Арон Гуннарссон | Ханнес Халлдорссон | Исландия
       33 | Кристиан Фукс | Роберт Альмер | Австрия
       34 | Balazs Dzsudzsak | Габор Киралы | Венгрия
       34 | Криштиану Роналду | Руи Патрисио | Португалия
       35 | Леонардо Бонуччи | Сальваторе Сиригу | Италия
       35 | Симус Коулман | Даррен Рэндольф | Республика Ирландия
       36 | Златан Ибрагимович | Андреас Исакссон | Швеция
       36 | Eden Hazard | Тибо Куртуа | Бельгия
       37 | Стефан Лихтштайнер | Ян Соммер | Швейцария
       37 | Роберт Левандовски | Лукаш Фабиански | Польша
       38 | Эшли Уильямс | Уэйн Хеннесси | Уэльс
       38 | Стивен Дэвис | Майкл Макговерн | Северная Ирландия
       39 | Дарио Срна | Даниэль СубаСик | Хорватия
       39 | Криштиану Роналду | Руи Патрисио | Португалия
       40 | Уго Льорис | Уго Льорис | Франция
       40 | Симус Коулман | Даррен Рэндольф | Республика Ирландия
       41 | Мануэль Нойер | Мануэль Нойер | Германия
       41 | Мартин Скртел | МатусКозачик | Словакия
       42 | Balazs Dzsudzsak | Габор Киралы | Венгрия
       42 | Eden Hazard | Тибо Куртуа | Бельгия
       43 | Джанлуиджи Буффон | Джанлуиджи Буффон | Италия
       43 | Серхио Рамос | Дэвид де Хеа | Испания
       44 | Уэйн Руни | Джо Харт | Англия
       44 | Арон Гуннарссон | Ханнес Халлдорссон | Исландия
       45 | Роберт Левандовски | Лукаш Фабиански | Польша
       45 | Криштиану Роналду | Руи Патрисио | Португалия
       46 | Эшли Уильямс | Уэйн Хеннесси | Уэльс
       46 | Eden Hazard | Тибо Куртуа | Бельгия
       47 | Мануэль Нойер | Мануэль Нойер | Германия
       47 | Джанлуиджи Буффон | Джанлуиджи Буффон | Италия
       48 | Уго Льорис | Уго Льорис | Франция
       48 | Арон Гуннарссон | Ханнес Халлдорссон | Исландия
       49 | Криштиану Роналду | Руи Патрисио | Португалия
       49 | Эшли Уильямс | Уэйн Хеннесси | Уэльс
       50 | Уго Льорис | Уго Льорис | Франция
       50 | Бастиан Швайнштайгер | Мануэль Нойер | Германия
       51 | Криштиану Роналду | Руи Патрисио | Португалия
       51 | Уго Льорис | Уго Льорис | Франция
(102 строки)

Практика онлайн


Пример базы данных: футбол


Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.

Предыдущий: Напишите запрос в SQL, чтобы найти капитанов с другой информацией для всех матчей в турнире.
Далее: Напишите запрос в SQL, чтобы найти игрока, который был выбран на награду «Человек матча» в финале Кубка Европы 2016 года.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code