Страницы

Поиск по вопросам

среда, 27 ноября 2019 г.

Запрос на соединение двух таблиц в MySQL

#mysql #sql


Помогите, пожалуйста, просто составить запрос-образец.

Есть первая таблица, в которой есть столбцы спортсмен и серийный_номер_велосипеда.
Вторая таблица: серийный_номер_велосипеда, цвет, год_выпуска.

Какой будет единый запрос, чтобы выбрать спортсмен, серийный_номер_велосипеда, цвет,
год_выпуска?
    


Ответы

Ответ 1



Используйте соединение таблиц: Если список серийных номеров велосипеда в обеих таблиц совпадает (нет таких элементов, которые есть в одной таблице, но нет во второй), то можете использовать внутреннее соединение join (inner join): SELECT s.sportsman, s.serial, b.color, b.year FROM sportsmen s JOIN bike b ON s.serial = b.serial Пример таблицы на sqlfiddle Результат выполнения запроса Либо: SELECT s.sportsman, s.serial, b.color, b.year FROM sportsmen s, bike b WHERE s.serial = b.serial Результат выполнения запроса Если список серийных номеров велосипедов не совпадает, то при соединении таблиц с помощью внутреннего соединения inner join (join) можно потерять нужные строки, поэтому для сохранения всех строк в левой таблице надо использовать left join: SELECT s.sportsman, s.serial, b.color, b.year FROM sportsmen s LEFT JOIN bike b ON s.serial = b.serial Пример таблицы на sqlfiddle Результат выполнения запроса

Ответ 2



SELECT с.спортсмен, в.серийный_номер_велосипеда, в.цвет, в.год_выпуска FROM спортсмен с LEFT JOIN велосипед в ON с.серийный_номер_велосипеда = в.серийный_номер_велосипеда;

Ответ 3



Вам нужна инструкция left join select t1.*, t2.color, t2.year from t1 left join t2 on t1.serial_num = t2.serial_num

Комментариев нет:

Отправить комментарий