Выполнение запросов на языке SQL для базы данных главного механика: извлечение данных - команда SELECT, страница 7

Выполним запросы  на языке SQL для БД главного механика: ВЛОЖЕННЫЕ ПОДЗАПРОСЫ.

Запрос 1.SELECT *

FROM ремонт_оборудования

WHERE код_оборудования=

                            (SELECT   код_оборудования

                                   FROM   оборудование

                                             WHERE  год_выпуска_оборудования >#01/01/02#);

код

срок_службы

гарантия

начало_ремонта

конец_ремонта

код_оборудования

код_ОП

(счетчик)

                      0

0

0

Запрос 2. SELECT *

FROM вид_ремонта

WHERE код_класс_ремонта IN

                                 (SELECT код_класс_ремонта

                                          FROM класс_ремонта

                                             WHERE название = 'ППР');

Запрос2

код_вид_ремонта

фамилия_бригадира

оценка

дата_следующего_ремонта

код_класс_ремонта

12

Шварцнейгер

4

24.08.2001

ППР

18

Сидоров

5

02.02.2005

ППР

23

Сидоров

3

05.07.2007

ППР

1

Шварцнейгер

5

21.09.1999

ППР

2

Иванов

4

12.09.2000

ППР

3

Петров

4

13.09.1998

ППР

4

Сидоров

4

15.09.2001

ППР

Запрос 3. SELECT *

FROM обслуживающий_персонал AS оп

WHERE '1 год'  IN

                   (SELECT срок_службы

                             FROM ремонт_оборудования ро

                                         WHERE оп.Код_ОП= ро.Код_ОП);

Запрос3

Код_ОП

ФИО

должность

адрес

1

Пушкин А. С.

рабочий

Трнава 26/1-105

3

Петров С. А.

слесарь 2 разряда

Каховская 34-9

5

Камниед А.А.

рабочий

Ленина 40-4

7

Васичкин П.С.

слесарь 5 разряда

Ленина 134-9

23

Степанов В.А.

слесарь 4 разряда

Каховская 30-55

24

Федосеев С.С.

слесарь 2 разряда

Набережная 4-123

Запрос 4. SELECT DISTINCT фамилия_бригадира, оценка, дата_следующего_ремонта

FROM вид_ремонта AS E1

WHERE оценка >

                (SELECT min (оценка)

                      FROM  вид_ремонта AS  E2

                      WHERE E1.фамилия_бригадира = E2.фамилия_бригадира);

Запрос4

фамилия_бригадира

оценка

дата_следующего_ремонта

Иванов

4

12.09.2000

Иванов

4

03.03.2003

Иванов

4

11.08.2003

Иванов

4

09.08.2006

Иванов

5

23.01.2005

Рыбников

4

30.04.2000

Рыбников

4

09.09.2009

Рыбников

5

31.08.2002

Рыбников

5

25.09.2002

Рыбников

5

07.04.2003

Рыбников

5

08.09.2005

Сидоров

4

15.09.2001

Сидоров

4

04.04.2005

Сидоров

5

10.08.1999

Сидоров

5

02.02.2005

Шварцнейгер

4

11.12.1999

Шварцнейгер

4

24.08.2001

Шварцнейгер

4

05.01.2006

Шварцнейгер

5

21.09.1999

Шварцнейгер

5

06.09.2004

Запрос 5. SELECT DISTINCT фамилия_бригадира, оценка, дата_следующего_ремонта

FROM вид_ремонта AS E1, [SELECT фамилия_бригадира, min (оценка) AS min_оценка             

                  FROM вид_ремонта  E2                  

                           GROUP BY  E2.фамилия_бригадира]. AS E3

WHERE E1.оценка>min_оценка And E1.фамилия_бригадира=E3.фамилия_бригадира;

Запрос5

фамилия_бригадира

оценка

дата_следующего_ремонта

Иванов

4

12.09.2000

Иванов

4

03.03.2003

Иванов

4

11.08.2003

Иванов

4

09.08.2006

Иванов

5

23.01.2005

Рыбников

4

30.04.2000

Рыбников

4

09.09.2009

Рыбников

5

31.08.2002

Рыбников

5

25.09.2002

Рыбников

5

07.04.2003

Рыбников

5

08.09.2005

Сидоров

4

15.09.2001

Сидоров

4

04.04.2005

Сидоров

5

10.08.1999

Сидоров

5

02.02.2005

Шварцнейгер

4

11.12.1999

Шварцнейгер

4

24.08.2001

Шварцнейгер

4

05.01.2006

Шварцнейгер

5

21.09.1999

Шварцнейгер

5

06.09.2004