5) Задания. Результаты.

Задания SQL.

 

Задание:

1. Выдать общее количество деталей поставляемых для изделия Перфоратор поставщиком чей рейтинг меньше 20.

Решение:

select distinct count(md.detailid)

from maker, md

where maker.makerstatus<20 and

md.makerid=maker.makerid and

md.thingid=2;

Результат:

3

 

 

Задание:

2. Выдать, алфавитном порядке, фамилии поставщиков, поставляющих по красней мере одну деталь, поставляемую по крайней мере одним поставщиком, который поставляет, по крайней мере, одну деталь зеленого цвета.

Решение(Вариант без поздапроса):

select distinct maker.makerf

from maker

where detail.detailcolor='Green' and

md.detailid=detail.detailid and

maker.makerid=md.makerid;

Решение(Вариант с подзапросом):

select makerf

from maker

where makerid in

(select makerid

from md

where detailid in

(select detailid

from detail

where detailcolor='Green'))

order by makerf;

Результат:

MAKERF

'Abasov'

'Abdulin'

'Degtev'

'Rasskazov'

'Temnov'

'Zagainov'

 

 

Задания PL SQL.

Задание:

1.Всем поставшикам, у которых рейтинг меньше 10 увеличить рейтинг на 1.

Решение:

declare ten int;

begin

ten:=10;

update maker

set makerstatus=makerstatus+1

where makerstatus<ten;

end;

Результат:

Рейтинг Загайнова увеличится на единицу.

ForStu / Практика / Информатика / SQL/PL_SQL лаба(1 курс МАТИ, 5 факультет)

Copyright © 2004-2017, ForStu

Яндекс.Метрика