CTE كجداول بحث
في الماضي ، كان علي كتابة استعلامات لتحويل بيانات الجدول إلى نص عرض سهل الاستخدام. إحدى الطرق هي استخدام تعبيرات CASE. على سبيل المثال ، افترض أن لديك جدولًا به عمود يمثل رمز البلد وتريد إضافة اسم البلد في النتيجة النهائية. p> sqlite> حدد الكود من البيانات ؛ + ------ + | أكواد | + ------ + | نحن | | في | | في | + ------ +
تتمثل إحدى الطرق في استخدام تعبير CASE في طلب البحث على النحو التالي: p> sqlite> حدد التعليمات البرمجية ، ...> كود CAS ...> عندما "نحن" ثم "الولايات المتحدة الأمريكية" ...> عندما "الاب" ثم "فرنسا" ...> عندما "في" ثم "الهند" ...> إنهاء كبلد ...> من البيانات ؛ + ------ + --------------- + | أكواد | البلد | + ------ + --------------- + | نحن | الولايات المتحدة | | في | فرنسا | | في | الهند | + ------ + --------------- +
الجانب السلبي هو صعوبة القراءة ، وإذا كنت بحاجة إلى القيام بشيء مماثل في مكان آخر من الاستعلام ، فسيتعين عليك تكرار التعبير. p>
البديل هو استخدام CTE مثل هذا: p> sqlite> مع البلد (الرمز والاسم) AS ( ...> حدد * من (القيم ...> ('us'، 'United States')، ('fr'، 'France')، ('in'، 'India') ...>) AS أكواد ...>) ...> حدد رمز البيانات ، الاسم من البيانات LEFT JOIN country ON country.code = data.code ؛ + ------ + --------------- + | أكواد | الاسم | + ------ + --------------- + | نحن | الولايات المتحدة | | في | فرنسا | | في | الهند | + ------ + --------------- +
الآن ، أصبحت دولة CTE جدول بحث يمكنك الرجوع إليه عدة مرات في استعلاماتك. p>
يعمل هذا الأسلوب مع SQLite و PostgreSQL.
![CTE كجداول بحث](https://misfra.me/img/favicon.png)
في الماضي ، كان علي كتابة استعلامات لتحويل بيانات الجدول إلى نص عرض سهل الاستخدام. إحدى الطرق هي استخدام تعبيرات CASE. على سبيل المثال ، افترض أن لديك جدولًا به عمود يمثل رمز البلد وتريد إضافة اسم البلد في النتيجة النهائية. p> sqlite> حدد الكود من البيانات ؛ + ------ + | أكواد | + ------ + | نحن | | في | | في | + ------ +
تتمثل إحدى الطرق في استخدام تعبير CASE في طلب البحث على النحو التالي: p> sqlite> حدد التعليمات البرمجية ، ...> كود CAS ...> عندما "نحن" ثم "الولايات المتحدة الأمريكية" ...> عندما "الاب" ثم "فرنسا" ...> عندما "في" ثم "الهند" ...> إنهاء كبلد ...> من البيانات ؛ + ------ + --------------- + | أكواد | البلد | + ------ + --------------- + | نحن | الولايات المتحدة | | في | فرنسا | | في | الهند | + ------ + --------------- +
الجانب السلبي هو صعوبة القراءة ، وإذا كنت بحاجة إلى القيام بشيء مماثل في مكان آخر من الاستعلام ، فسيتعين عليك تكرار التعبير. p>
البديل هو استخدام CTE مثل هذا: p> sqlite> مع البلد (الرمز والاسم) AS ( ...> حدد * من (القيم ...> ('us'، 'United States')، ('fr'، 'France')، ('in'، 'India') ...>) AS أكواد ...>) ...> حدد رمز البيانات ، الاسم من البيانات LEFT JOIN country ON country.code = data.code ؛ + ------ + --------------- + | أكواد | الاسم | + ------ + --------------- + | نحن | الولايات المتحدة | | في | فرنسا | | في | الهند | + ------ + --------------- +
الآن ، أصبحت دولة CTE جدول بحث يمكنك الرجوع إليه عدة مرات في استعلاماتك. p>
يعمل هذا الأسلوب مع SQLite و PostgreSQL.
What's Your Reaction?
![like](https://vidianews.com/assets/img/reactions/like.png)
![dislike](https://vidianews.com/assets/img/reactions/dislike.png)
![love](https://vidianews.com/assets/img/reactions/love.png)
![funny](https://vidianews.com/assets/img/reactions/funny.png)
![angry](https://vidianews.com/assets/img/reactions/angry.png)
![sad](https://vidianews.com/assets/img/reactions/sad.png)
![wow](https://vidianews.com/assets/img/reactions/wow.png)