Inner join - MySQL
Формулировка задачи:
Здравствуйте, происходит ошибка при выполнении запроса: . Не подскажите в чём дело? Хочу получить информацию о пользователе, title его вуза и направления в вузе. Это ключи из users.
SELECT * FROM `users` INNER JOIN `universities` INNER JOIN `university_directions` ON `users.university`=`universities.id` ON `users.university_direction`=`university_directions.id` WHERE `users.id` = '2'
Решение задачи: «Inner join»
textual
Листинг программы
SELECT * FROM `users` INNER JOIN `universities` ON users.university`=`universities.id` INNER JOIN `university_directions` ON `users.university_direction`=`university_directions.id` WHERE `users.id` = '2'
Объяснение кода листинга программы
В данном коде выполняется запрос к базам данных users, universities и university_directions с использованием оператора INNER JOIN. Результатом запроса будет выборка всех полей из этих таблиц, которые удовлетворяют условию WHERE.
- SELECT * FROM
usersINNER JOINuniversitiesON users.university = universities.id Результатом этого шага будет выборка всех полей из таблицusersиuniversities, где значение поляuniversityв таблицеusersравно значению поляidв таблицеuniversities. - INNER JOIN
university_directionsON users.university_direction = university_directions.id Этот шаг добавляет в выборку все поля из таблицыuniversity_directions, где значение поляuniversity_directionв таблицеusersравно значению поляidв таблицеuniversity_directions. - WHERE
users.id= '2' В результате выполнения этого шага в выборку попадут только те строки, где значение поляidв таблицеusersравно '2'. Таким образом, результатом выполнения данного запроса будет выборка всех полей из таблицusers,universitiesиuniversity_directions, удовлетворяющих условию WHERE, для пользователя с id равным '2'.