در این بخش از آموزش اوراکل بعد از آشنایی با CASE در اوراکل قصد داریم آموزش کوئری‌های سلسله مراتبی را یاد بگیریم.

مثالی که می توانیم در مورد داده های سلسله مراتبی بزنیم :

  • افراد استخدام شده در شرکت
  • لیست افراد یک خانواده

در این بخش آموزش اوراکل از کوئری هایی استفاده می کنیم با توجه به مواردی که تا الان یاد گرفتیم داده ها را بصورت سلسله مراتبی نمایش داده شود.

شما با استفاده از شرط های CONNECT BY و START WITH کوئری های SELECT بنویسید که بصورت کوئری‌های سلسله مراتبی نمایش دهید.

در ادامه آموزش شما یاد میگیرید با شرط WITH کوئری های سلسله مراتبی از نوع recursive subquery factoring (بازگشتی) بنویسید.

استفاده از شرط های CONNECT BY و START WITH در کوئری های سلسله مراتبی

برای اجرای کوئری‌های سلسله مراتبی می توان از شرط های CONNECT BY و START WITH بصورت syntax دستور تصویر زیر بنویسید.

کوئری‌های سلسله مراتبی 14

که قواعد دستوری بالا

  • LEVEL یک ستون مجازی می باشد که نشان دهنده یه level و سطح درخت و چارت می باشد. که خروجی عدد ۱ در LEVEL نشان دهنده بالاترین سطح Root Node می باشد و ۲ نشان دهنده بچه Child سطح ۱ می باشد که به نسبت ادامه دارد.
  • start_condition مشخص می کند در کدام و کجا می خواهید کوئری سلسله مراتبی قرار است اجرا شود.
  • prior_condition رابطه بین رکوردهای Parent پدر و رکورد های Child بچه را مشخص می کند.

و به دنبال آن کوئری از شرط های START WITH و CONNECT BY PRIOR استفاده می کند.

آموزش اوراکل 15

استفاده از ستون مجازی LEVEL

شما با استفاده از ستون مجازی LEVEL در کوئری‌های سلسله مراتبی میتوانید تعداد سطح های یک درختواره را نمایش دهید.

کوئری‌های سلسله مراتبی 16

فرمت دهی و دادن ساختار به خروجی رکورد های کوئری‌های سلسله مراتبی

شما می توانید به خروجی رکورد ها را با استفاده از دستور LEVEL و توابع ()LPAD ساختار و فرمت دهی کنید.

آموزش اوراکل 17

آموزش اوراکل در مورد مطلب : سلسله مراتبی