Answered step by step
Verified Expert Solution
Link Copied!

Question

00
1 Approved Answer

HW 2 - SQL The database you will use for this assignment contains information related to Major League Baseball (MLB) about players, teams, and games.

HW 2 - SQL

The database you will use for this assignment contains information related to Major League Baseball (MLB) about players, teams, and games. The relations are:

Players(playerID, playerName, team, position, birthYear)

playerID is a player identifier used in MLB, and all players throughout the history of baseball have a unique ID

playerName is players name

team is the name of the MLB team the player is currently playing on (or the last team the player played for if they are not currently playing)

position is the position of the player

birthYear is the year that player was born

Teams(teamID, teamName, home, leagueName)

teamID is a unique ID internal to MLB.

teamName is the name of the team

home is the home city of the team

leagueName is the league the team is in, i.e. either National or American, which stands for National League and American League, respectively

Games(gameID, homeTeamID, guestTeamID, date)

gameID is a unique ID used internally in MLB

homeTeamID is the ID of the hometeam

guestTeamID is the ID of the visiting team

date is the date of the game.

A sample instance of this database is given at the end of this homework handout. Since it is just one instance of the database designed to give you some intuition, you should not customize your answer to work only with this instance.

Write the following queries in SQL, using the schema provided above.

(a) Print all teamIDs where the team played against the Phillies but not against the Braves.

(b) Print all tuples (playerID1, playerID2, team) where playerID1 and playerID2 are (or have been) on the same team. Avoid listing self-references or duplicates, e.g. do not allow (1,1,Braves) or both (2,5,Phillies) and (5,2,Phillies).

(c) Print all tuples (teamID1, league1, teamID2, league2, date) where teamID1 and teamID2 played against each other in a World Series game. Although there is no direct information about the World Series games in the relations, we can infer that when two teams from different leagues play each other, it is a World Series game. So, in this relation, league1 and league2 should be different leagues.

(d) List all cities that have a team in all leagues. For example, there are currently two leagues (National and American). Although not shown in this instance, New York is home to the Mets in the National league as well as the Yankees in the American league (Chicago also has one in each league, for those of you who are baseball fans). Remember that your query must work over all instances of this schema, even if there are more than two leagues in the instance.

Players

playerID

playerName

team

position

birthYear

1

Javy Lopez

Braves

Catcher

1970

2

Cliff Lee

Phillies

Pitcher

1978

3

Derek Jeter

Yankees

Infielder

1974

4

Skip Schumaker

Cardinals

Infielder

1980

5

Dominic Brown

Phillies

Outfielder

1987

Teams

teamID

teamName

home

leagueName

1

Phillies

Philadelphia

National

2

Braves

Atlanta

National

3

Yankees

New York

American

4

Twins

Minnesota

American

5

Rangers

Texas

American

6

Cubs

Chicago

National

Games

gameID

homeTeamID

guestTeamID

date

1

3

6

04/21/2010

2

1

4

04/21/2010

3

2

5

04/30/2010

4

6

3

05/02/2010

5

4

5

05/02/2010

6

1

5

05/06/2010

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access with AI-Powered Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions