Методические указания по их использованию. Пособие содержит большое количество примеров на использование операторов sql, которые могут быть полезны как на этапе освоения материала, так и выступать в качестве вопросов для самопроверки



Download 441,57 Kb.
bet57/71
Sana15.01.2023
Hajmi441,57 Kb.
#899634
TuriМетодические указания
1   ...   53   54   55   56   57   58   59   60   ...   71
Bog'liq
Методичка SQL(14) (оптимизация)

WITH
Цена (Блюдо, Стоимость) -- первое СТЕ
AS
(SELECT b.Блюдо, SUM (s.Вес*n.Цена/1000)+b.Труд as Стоимость
FROM (Блюда b JOIN Состав s ON b.ID_блюда = s.Блюдо )
JOIN Наличие n ON s.Продукт = n.Продукт
GROUP BY b.Блюдо, b.Труд),
Мин_Цена(Стоимость) -- второе СТЕ
AS
(SELECT MIN(Стоимость) FROM Цена)
SELECT Блюдо, Цена .Стоимость --запрос, использующий СТЕ
FROM Цена JOIN Мин_Цена
ON Цена .Стоимость= Мин.Цена .Стоимость;
Этот запрос дает те же самые результаты, что и предыдущие варианты!
    1. Рекурсивные запросы.


Выражения CTE можно использовать для реализации рекурсивных алгоритмов. Рекурсивная логика удобна, когда требуется написать алгоритм, вызывающий самого себя — это часто делается для прохода по вложенному набору данных. Написание рекурсивной логики может оказаться сложной задачей, особенно на таком языке, как T-SQL, однако это одна из тех специальных задач, для решения которых были разработаны выражения CTE. Простейший рецепт создания рекурсивного выражения CTE выглядит следующим образом:

  • Создать запрос, возвращающий верхний уровень (это закрепленный элемент, начальная точка рекурсии).

  • Написать рекурсивный запрос (это рекурсивный элемент, показывает как перейти к следующему шагу рекурсии).

  • Выполнить операцию UNION для первого и рекурсивного запросов.

  • Разместить UNION в СТЕ.

  • Связать CTE и рекурсивный запрос внутри CTE, чтобы обеспечить пошаговое выполнение.

В результате рекурсивное выражение CTE будет выглядеть приблизительно следующим образом.

Download 441,57 Kb.

Do'stlaringiz bilan baham:
1   ...   53   54   55   56   57   58   59   60   ...   71




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish