Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика.госы.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.22 Mб
Скачать

Ivanchikov 14406

Ivanov 14406

Sidorov 21609

8)

SQL> SELECT AVG(stipend) FROM student GROUP BY gruppa;

AVG(STIPEND)

------------

1200.5

1800.75

1200.5

9)

SQL> SELECT MIN(stipend) FROM student;

MIN(STIPEND)

------------

1200.5

10)

SQL> SELECT AVG(stipend)-MIN(stipend) FROM student;

AVG(STIPEND)-MIN(STIPEND)

-------------------------

200.083333

11)

SQL> SELECT COUNT(*) from student WHERE gruppa IN ('PIB-301');

COUNT(*)

----------

1

12)

SQL> SELECT gruppa from student WHERE (SELECT COUNT(*) FROM student)>15 GROUP BY

gruppa;

no rows selected

SQL> SELECT gruppa from student WHERE (SELECT COUNT(*) FROM student)<15 GROUP BY

gruppa;

GRUPPA

----------

FMO-301

PMI-301

PIB-301

13)

SQL> SELECT gruppa from student WHERE (SELECT COUNT(*) FROM student)>15 GROUP BY

gruppa;

no rows selected

SQL> SELECT gruppa from student WHERE (SELECT COUNT(*) FROM student)<15 GROUP BY

gruppa;

GRUPPA

----------

FMO-301

PMI-301

PIB-301

14)

SQL> SELECT surname FROM student WHERE (SELECT AVG(ozenka.ocenka) FROM student,o

zenka WHERE student.surname=ozenka.surname)=4.5 ORDER BY surname;

no rows selected

SQL> SELECT surname FROM student WHERE (SELECT AVG(ozenka.ocenka) FROM student,o

zenka WHERE student.surname=ozenka.surname)<4.5 ORDER BY surname;

SURNAME

------------------------------

Ivanchikov

Ivanov

Sidorov

15)

SQL> SELECT student.surname, SUM(ozenka.ocenka) FROM student,ozenka WHERE studen

t.surname=ozenka.surname GROUP BY student.surname;

SURNAME SUM(OZENKA.OCENKA)

------------------------------ ------------------

Ivanov 9

Ivanchikov 13

Sidorov 10

16)

SQL> SELECT AVG(ozenka.ocenka) FROM ozenka,student WHERE ozenka.surname=student.

surname GROUP BY student.surname;

AVG(OZENKA.OCENKA)

------------------

4.5

4.33333333

3.33333333

5 лаба

  1. Вывести фамилии и стипендию студентов, стипендия которых меньше среднего арифметического всех стипендий студентов таблицы.

  2. Вывести фамилии и стипендию студентов, которые получают минимальную стипендию (значение минимальной стипендии неизвестна).

  3. Вывести фамилии и стипендию студентов, которые получают стипендию такую же, что и Петрова А.В.

  4. Вывести фамилии и стипендию студентов, которые получают стипендию больше, чем Иванов Д.В.

  5. Вывести сумму стипендий студентов, которые учатся в той же группе, что и Иванов Д.В. (группа студента неизвестна).

  6. Сколько студентов получили максимальную стипендию?

  7. Сколько студентов получили стипендию выше среднего арифметического?

Добавить в таблицу поле «Материальная помощь», «Дата_оказания_мат_помощи».

  1. Вывести сумму материальной помощи студентов, которые получили материальную помощь в том же месяце, что и Петрова А.В.

  2. Вывести сумму материальной помощи студентов, которые получили материальную помощь в том же году, что и Иванов Д.В.

  3. Сколько студентов получили материальную помощь в году, в котором максимальная стипендия была 1200 р?

Код программы:

1)

SQL> SELECT surname,stipend FROM student WHERE stipend<(SELECT AVG(stipend) FROM

student);

SURNAME STIPEND

------------------------------ ----------

Ivanov 1200.5

Ivanchikov 1200.5

2)

SQL> SELECT surname,stipend FROM student WHERE stipend=(SELECT MIN(stipend) FROM

student);

SURNAME STIPEND

------------------------------ ----------

Ivanov 1200.5

Ivanchikov 1200.5

3)

SQL> SELECT surname,stipend FROM student WHERE stipend=(SELECT stipend FROM stud

ent WHERE surname='Ivanov');

SURNAME STIPEND

------------------------------ ----------

Ivanov 1200.5

Ivanchikov 1200.5

4)

SQL> SELECT surname,stipend FROM student WHERE stipend>(SELECT stipend FROM stud

ent WHERE surname='Ivanov');

SURNAME STIPEND

------------------------------ ----------

Sidorov 1800.75

5)

SQL> SELECT SUM(stipend) FROM student WHERE gruppa=(SELECT gruppa FROM student W

HERE surname='Ivanov');

SUM(STIPEND)

------------

1200.5

6)

SQL> SELECT COUNT(*) FROM student WHERE stipend=(SELECT MAX(stipend) FROM studen

t);

COUNT(*)

----------

1

7)

SQL> SELECT COUNT(*) FROM student WHERE stipend>(SELECT AVG(stipend) FROM studen

t);

COUNT(*)

----------

1

8)

ALTER TABLE student ADD(matpom int, datematpom date);

SQL> update student set datematpom=to_date('2011/12/09','yyyy/mm/dd'), matpom =

5000 where id_stud=100;