2016-03-15 63 views
0

我正在創建一個項目,我加入了三張表。爲了完成它,我需要解釋每條線路以及它們的工作方式。MySql代碼的簡單解釋

SELECT competition.*, teams.team_name, teams.team_position  
FROM competition   
INNER JOIN players  
ON teams.team_id = competition.team_id   
INNER JOIN sports 
ON sports.sport_id = competition.sport_id    
WHERE team_level = 'Professional';   

我對內部連接有一個基本的瞭解,但是我希望有更多的解釋。

很多謝謝

+0

This is not on topic for this [** forum **](http://stackoverflow.com/help/on-topic)你應該閱讀這樣的教程http://www.w3schools.com/sql /sql_join.asp –

回答

0
SELECT competition.*, teams.team_name, teams.team_position 

在這一行你選擇整體競爭表格和組建團隊表您選擇team_nameteam_position

INNER JOIN players 

INNER JOIN關鍵字選擇兩個表中的選手和比賽的所有行。

ON teams.team_id = competition.team_id 

給出了您選擇的基準。

WHERE team_level = 'Professional'; 

WHERE子句用於只提取符合指定條件的記錄,意味着列的值爲Professional。

0

內部連接是爲了使行滿足某些約束。

例如:

INNER JOIN sports ON sports.sport_id = competition_sport_id 

意味着,你把體育和競爭表格的行一起,滿足sport_id = competition_sport_id

Where語句過濾掉不滿足約束。

例如:

WHERE team_level = 'Professional' 

,你得到與進入Professionalteam_level行,並過濾掉其餘的手段。