Inner join - MySQL

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, происходит ошибка при выполнении запроса:
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'
. Не подскажите в чём дело? Хочу получить информацию о пользователе, title его вуза и направления в вузе. Это ключи из users.

Решение задачи: «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.

  1. SELECT * FROM users INNER JOIN universities ON users.university = universities.id Результатом этого шага будет выборка всех полей из таблиц users и universities, где значение поля university в таблице users равно значению поля id в таблице universities.
  2. INNER JOIN university_directions ON users.university_direction = university_directions.id Этот шаг добавляет в выборку все поля из таблицы university_directions, где значение поля university_direction в таблице users равно значению поля id в таблице university_directions.
  3. WHERE users.id = '2' В результате выполнения этого шага в выборку попадут только те строки, где значение поля id в таблице users равно '2'. Таким образом, результатом выполнения данного запроса будет выборка всех полей из таблиц users, universities и university_directions, удовлетворяющих условию WHERE, для пользователя с id равным '2'.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5