Загрузка данных


Теперь запросы написаны под вашу схему. Главные отличия от прошлой версии: связь между «Группа» и «Студент» идёт по полю `Название группы`, связь «Студент» и «Успеваемость» идёт по полю `Номер студента`, а пропуски хранятся в «Студент» по месяцам. Поэтому в 1.6 нужно складывать столбцы месяцев, а не использовать `Sum`.

Названия пропусков на фото выглядят как `Количество пропущенных часов ( сентябрь )`. Я написал их без пробелов внутри скобок: `(сентябрь)`. Откройте таблицу «Студент» в Конструкторе и проверьте точное имя. Если пробелы там есть, добавьте их в запрос.

**1.1**
```sql
SELECT [Название группы], Фамилия, Имя, Отчество
FROM Студент;
```

**1.2**
```sql
SELECT Студент.[Название группы], Студент.Фамилия, Студент.Имя, Студент.Отчество,
       Студент.[Дата рождения], Студент.[Дата поступления]
FROM Группа INNER JOIN Студент ON Группа.[Название группы] = Студент.[Название группы]
WHERE Группа.Курс = 1;
```

**1.3**
```sql
SELECT Студент.[Название группы], Студент.Фамилия, Студент.Имя,
       Успеваемость.[Название дисциплины], Успеваемость.Оценки
FROM Студент INNER JOIN Успеваемость ON Студент.[Номер студента] = Успеваемость.[Номер студента];
```

**1.4**
```sql
SELECT Студент.[Название группы], Студент.Фамилия, Студент.Имя,
       Avg(Успеваемость.Оценки) AS [Средний балл]
FROM Студент INNER JOIN Успеваемость ON Студент.[Номер студента] = Успеваемость.[Номер студента]
GROUP BY Студент.[Название группы], Студент.Фамилия, Студент.Имя;
```

**1.5**
```sql
SELECT Группа.Курс, Count(Студент.[Номер студента]) AS [Количество студентов]
FROM Группа INNER JOIN Студент ON Группа.[Название группы] = Студент.[Название группы]
GROUP BY Группа.Курс;
```

**1.6** Первый семестр: сентябрь–декабрь, второй: январь–июнь. `Nz(...,0)` заменяет пустые ячейки нулём, иначе сумма у студента с пропуском в любом месяце получится пустой.
```sql
SELECT [Название группы], Фамилия, Имя,
  Nz([Количество пропущенных часов (сентябрь)],0)
  + Nz([Количество пропущенных часов (октябрь)],0)
  + Nz([Количество пропущенных часов (ноябрь)],0)
  + Nz([Количество пропущенных часов (декабрь)],0) AS [1 семестр],
  Nz([Количество пропущенных часов (январь)],0)
  + Nz([Количество пропущенных часов (февраль)],0)
  + Nz([Количество пропущенных часов (март)],0)
  + Nz([Количество пропущенных часов (апрель)],0)
  + Nz([Количество пропущенных часов (май)],0)
  + Nz([Количество пропущенных часов (июнь)],0) AS [2 семестр],
  [1 семестр] + [2 семестр] AS [Всего пропущено]
FROM Студент;
```
Если Access ругается на использование псевдонимов `[1 семестр]` и `[2 семестр]` в последнем столбце, удалите строку `[1 семестр] + [2 семестр] AS [Всего пропущено]`. Остальное выполнится без неё. Если нужна только общая сумма, напишите, и я дам такой вариант.

**1.7**
```sql
UPDATE Группа SET Курс = 4 WHERE Курс = 3;
```

**1.8** (запускать после 1.7)
```sql
SELECT Студент.* INTO Выпускник
FROM Студент INNER JOIN Группа ON Студент.[Название группы] = Группа.[Название группы]
WHERE Группа.Курс = 4;
```

**1.9** Вместо `ИС-21` впишите название группы, которая есть в таблице «Выпускник». Текст в запросах Access берётся в кавычки.
```sql
DELETE FROM Выпускник
WHERE [Название группы] = 'ИС-21';
```

**1.10**
```sql
SELECT * FROM Студент
WHERE Фамилия = [Введите фамилию студента];
```

**1.11**
```sql
DROP TABLE Выпускник;
```

Если в поле «Курс» у вас хранится текст, а не число, в 1.2, 1.7 и 1.8 цифры нужно заключить в кавычки: `'1'`, `'3'`, `'4'`. Если какой-то запрос выдаст ошибку, пришлите её текст или скриншот, и я быстро поправлю.