CTE كجداول بحث

في الماضي ، كان علي كتابة استعلامات لتحويل بيانات الجدول إلى نص عرض سهل الاستخدام. إحدى الطرق هي استخدام تعبيرات CASE. على سبيل المثال ، افترض أن لديك جدولًا به عمود يمثل رمز البلد وتريد إضافة اسم البلد في النتيجة النهائية. sqlite> حدد الكود من البيانات ؛ + ------ + | أكواد | + ------ + | نحن | | في | | في | + ------ +

تتمثل إحدى الطرق في استخدام تعبير CASE في طلب البحث على النحو التالي: sqlite> حدد التعليمات البرمجية ، ...> كود CAS ...> عندما "نحن" ثم "الولايات المتحدة الأمريكية" ...> عندما "الاب" ثم "فرنسا" ...> عندما "في" ثم "الهند" ...> إنهاء كبلد ...> من البيانات ؛ + ------ + --------------- + | أكواد | البلد | + ------ + --------------- + | نحن | الولايات المتحدة | | في | فرنسا | | في | الهند | + ------ + --------------- +

الجانب السلبي هو صعوبة القراءة ، وإذا كنت بحاجة إلى القيام بشيء مماثل في مكان آخر من الاستعلام ، فسيتعين عليك تكرار التعبير.

البديل هو استخدام CTE مثل هذا: sqlite> مع البلد (الرمز والاسم) AS ( ...> حدد * من (القيم ...> ('us'، 'United States')، ('fr'، 'France')، ('in'، 'India') ...>) AS أكواد ...>) ...> حدد رمز البيانات ، الاسم من البيانات LEFT JOIN country ON country.code = data.code ؛ + ------ + --------------- + | أكواد | الاسم | + ------ + --------------- + | نحن | الولايات المتحدة | | في | فرنسا | | في | الهند | + ------ + --------------- +

الآن ، أصبحت دولة CTE جدول بحث يمكنك الرجوع إليه عدة مرات في استعلاماتك.

يعمل هذا الأسلوب مع SQLite و PostgreSQL.

CTE كجداول بحث

في الماضي ، كان علي كتابة استعلامات لتحويل بيانات الجدول إلى نص عرض سهل الاستخدام. إحدى الطرق هي استخدام تعبيرات CASE. على سبيل المثال ، افترض أن لديك جدولًا به عمود يمثل رمز البلد وتريد إضافة اسم البلد في النتيجة النهائية. sqlite> حدد الكود من البيانات ؛ + ------ + | أكواد | + ------ + | نحن | | في | | في | + ------ +

تتمثل إحدى الطرق في استخدام تعبير CASE في طلب البحث على النحو التالي: sqlite> حدد التعليمات البرمجية ، ...> كود CAS ...> عندما "نحن" ثم "الولايات المتحدة الأمريكية" ...> عندما "الاب" ثم "فرنسا" ...> عندما "في" ثم "الهند" ...> إنهاء كبلد ...> من البيانات ؛ + ------ + --------------- + | أكواد | البلد | + ------ + --------------- + | نحن | الولايات المتحدة | | في | فرنسا | | في | الهند | + ------ + --------------- +

الجانب السلبي هو صعوبة القراءة ، وإذا كنت بحاجة إلى القيام بشيء مماثل في مكان آخر من الاستعلام ، فسيتعين عليك تكرار التعبير.

البديل هو استخدام CTE مثل هذا: sqlite> مع البلد (الرمز والاسم) AS ( ...> حدد * من (القيم ...> ('us'، 'United States')، ('fr'، 'France')، ('in'، 'India') ...>) AS أكواد ...>) ...> حدد رمز البيانات ، الاسم من البيانات LEFT JOIN country ON country.code = data.code ؛ + ------ + --------------- + | أكواد | الاسم | + ------ + --------------- + | نحن | الولايات المتحدة | | في | فرنسا | | في | الهند | + ------ + --------------- +

الآن ، أصبحت دولة CTE جدول بحث يمكنك الرجوع إليه عدة مرات في استعلاماتك.

يعمل هذا الأسلوب مع SQLite و PostgreSQL.

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow