Оцените правильность запроса - MySQL

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

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

Две таблицы: STUDENTS (STUDENT_ID, GROUP_ID, FIRST_NAME, LAST_NAME) и GROUPS (GROUP_ID, NAME). Задача: удалить всех студентов из группы с именем SR-01
DELETE FROM STUDENTS WHERE GROUPS_ID IN 
    ( SELECT GROUPS_ID FROM GROUPS INNER JOIN STUDENTS ON GROUPS.GROUPS_ID = STUDENTS.GROUPS_ID WHERE GROUPS.NAME = 'SR-01')

Решение задачи: «Оцените правильность запроса»

textual
Листинг программы
DELETE FROM STUDENTS WHERE GROUP_ID IN 
    (SELECT GROUP_ID FROM GROUPS WHERE GROUPS.NAME LIKE 'SR-01');

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

  1. Запрос на языке SQL для удаления записей из таблицы STUDENTS.
  2. Условие для выбора записей в подзапросе: GROUPS.NAME похоже на 'SR-01'.
  3. Подзапрос для выбора записей из таблицы GROUPS, которые удовлетворяют условию.
  4. Результат подзапроса используется в основном запросе для определения записей, которые должны быть удалены.
  5. Условие IN используется для выбора записей из таблицы STUDENTS, которые имеют значение GROUP_ID, совпадающее с одним из значений, возвращенных подзапросом.
  6. Результатом будет набор записей, которые будут удалены из таблицы STUDENTS.

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

9   голосов , оценка 4.111 из 5