Запрос, который позволяет вывести имена и идентификаторы всех студенто - MySQL

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

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

Запрос, который позволяет вывести имена и идентификаторы всех студентов, для которых точно известно, что они проживают в городе, где нет ни одного университета. Вот таблица университета CREATE TABLE `sta5`.`university` ( `univ_id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, `univ_name` varchar(50) NOT NULL, `rating` INTEGER UNSIGNED NOT NULL, `city` varchar(50) NOT NULL, PRIMARY KEY (`univ_id`) ) ENGINE = InnoDB; вот студента CREATE TABLE `sta5`.`student` ( `student_id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, `surname` varchar(50) NOT NULL, `name` varchar(50) NOT NULL, `stipend` varchar(50) NOT NULL, `kurs` INTEGER UNSIGNED NOT NULL, `city` varchar(50) NOT NULL, `birthday` date NOT NULL, `univ_id` INTEGER UNSIGNED NOT NULL REFERENCES `university`, PRIMARY KEY (`student_id`) ) ENGINE = InnoDB; Вот что пытался сделать SELECT `student`.student_id, `student`.surname,`student`.city FROM `UNIVERSITY`,`student` WHERE `student`.univ_id=`university`.univ_id and `student`.city<>`university`.city;

Решение задачи: «Запрос, который позволяет вывести имена и идентификаторы всех студенто»

textual
Листинг программы
SELECT `student`.student_id, `student`.surname,`student`.city
FROM `student` LEFT JOIN `UNIVERSITY`ON `student`.city = `university`.city
WHERE `university`.city IS NULL

Объяснение кода листинга программы

Вот что делается в данном коде:

  1. Выполняется запрос SELECT к таблице student, выбираются поля student_id, surname, city.
  2. Результат запроса присоединяется к таблице UNIVERSITY с помощью оператора LEFT JOIN, используя условие равенства городов.
  3. В WHERE-условии проверяется, что поле city из таблицы university равно NULL, т.е. университет с таким городом не найден.
  4. Результатом запроса будет список студентов, у которых не найден соответствующий университет по городу.

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


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

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

15   голосов , оценка 3.8 из 5
Похожие ответы