SQL Joins exercises on soccer Database: Find the captain who was also the goalkeeper
SQL soccer Database: Joins Exercise-39 with Solution
39. From the following tables, write a SQL query to find the captain who was also the goalkeeper. Return match number, country name, player name and jersey number.
Sample table: match_captain
Sample table: soccer_country
Sample table: player_mast
Sample Solution:
SQL Code:
SELECT match_no,
country_name,
player_name,
jersey_no
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
AND posi_to_play='GK'
ORDER BY match_no;
Sample Output:
match_no | country_name | player_name | jersey_no ----------+----------------+-------------------+----------- 1 | France | Hugo Lloris | 1 7 | Germany | Manuel Neuer | 1 10 | Italy | Gianluigi Buffon | 1 15 | France | Hugo Lloris | 1 18 | Germany | Manuel Neuer | 1 19 | Italy | Gianluigi Buffon | 1 26 | France | Hugo Lloris | 1 30 | Germany | Manuel Neuer | 1 31 | Czech Republic | Petr Cech | 1 40 | France | Hugo Lloris | 1 41 | Germany | Manuel Neuer | 1 43 | Italy | Gianluigi Buffon | 1 47 | Germany | Manuel Neuer | 1 47 | Italy | Gianluigi Buffon | 1 48 | France | Hugo Lloris | 1 50 | France | Hugo Lloris | 1 51 | France | Hugo Lloris | 1 (17 rows)
Relational Algebra Expression:
Relational Algebra Tree:
Practice Online
Sample Database: soccer
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: From the following tables, write a SQL query to find the team against which the penalty shot number 26 had been taken. Return match number, country name.
Next: From the following tables, write a SQL query to find the number of captains who was also the goalkeeper. Return number of captains.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
SQL: Tips of the Day
SQL Server SELECT into existing table.
INSERT INTO dbo.TABLETWO SELECT col1, col2 FROM dbo.TABLEONE WHERE col3 LIKE @search_key
This assumes there's only two columns in dbo.TABLETWO - you need to specify the columns otherwise:
INSERT INTO dbo.TABLETWO (col1, col2) SELECT col1, col2 FROM dbo.TABLEONE WHERE col3 LIKE @search_key
Database: SQL Server
Ref: https://bit.ly/3y6tpA3
- New Content published on w3resource:
- HTML-CSS Practical: Exercises, Practice, Solution
- Java Regular Expression: Exercises, Practice, Solution
- Scala Programming Exercises, Practice, Solution
- Python Itertools exercises
- Python Numpy exercises
- Python GeoPy Package exercises
- Python Pandas exercises
- Python nltk exercises
- Python BeautifulSoup exercises
- Form Template
- Composer - PHP Package Manager
- PHPUnit - PHP Testing
- Laravel - PHP Framework
- Angular - JavaScript Framework
- Vue - JavaScript Framework
- Jest - JavaScript Testing Framework