2016-03-15 2 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

Это не по теме для этого [** 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_name и team_position.

INNER JOIN players 

INNER JOIN ключевое слово выбирает все строки из обеих таблиц игроков и конкуренции.

ON teams.team_id = competition.team_id 

дает критерии на основе, которую вы выбираете.

WHERE team_level = 'Professional'; 

ИНЕКЕ используется для извлечения только те записи, которые удовлетворяют указанному условию означает столбец имеет значение Professional.

0

Внутреннее соединение является, чтобы привести строки, которые удовлетворяют некоторое ограничение.

Например:

INNER JOIN sports ON sports.sport_id = competition_sport_id 

Значит, вы приносите ряды спортивных и турнирную таблицу вместе, которые удовлетворяют sport_id = competition_sport_id

Где оператор отфильтровывает который не удовлетворяет ограничение.

Например:

WHERE team_level = 'Professional' 

означает, что вы получите строки с колонкой team_level с вхождением Professional и отфильтровывать все остальное.