الاسم المستعار (SQL)

الاسم المستعار ميزة في لغة SQL تدعمها معظم أنظمة إدارة قواعد البيانات العلائقية (RDBMS) ، إن لم تكن جميعها . تُمكّن الأسماء المستعارة المستخدمين من تقليل حجم التعليمات البرمجية اللازمة للاستعلام، وجعل الاستعلامات أسهل فهمًا. إضافةً إلى ذلك، يُعدّ استخدام الأسماء المستعارة ضروريًا عند إجراء عمليات الربط الذاتي (أي ربط جدول بنفسه).

في لغة SQL، يمكنك استخدام أسماء بديلة للجداول والأعمدة . يُطلق على الاسم البديل للجدول اسم "اسم ارتباط" وفقًا لمعيار SQL. [ 1 ] يمكن للمبرمج استخدام اسم بديل لتعيين اسم آخر مؤقتًا لجدول أو عمود طوال مدة تنفيذ استعلام SELECT الحالي . لا يؤدي تعيين اسم بديل إلى تغيير اسم العمود أو الجدول فعليًا. يُعد هذا مفيدًا غالبًا عندما تكون أسماء الجداول أو أعمدتها طويلة جدًا أو معقدة. يمكن أن يكون الاسم البديل أي شيء، ولكن عادةً ما يُختار اسمًا قصيرًا. على سبيل المثال، قد يكون من الشائع استخدام اسم بديل للجدول مثل "pi" لجدول يُسمى "price_information".

الصيغة العامة للاسم المستعار هي . لاحظ أن الكلمة المفتاحية AS اختيارية تمامًا، وعادةً ما تُستخدم لتحسين سهولة القراءة. إليك بعض البيانات النموذجية التي ستستند إليها الاستعلامات أدناه:SELECT*FROMtable_name[AS]alias_name

جدول الأقسام
معرف القسماسم القسم
31مبيعات
33هندسة
34الأعمال المكتبية
35تسويق

استخدام اسم مستعار للجدول:

حدد اسم القسم (D ) من جدول الأقسام (Department) باسم D

يمكننا أيضًا كتابة نفس الاستعلام على النحو التالي (لاحظ أنه تم حذف عبارة AS هذه المرة):

حدد اسم القسم D من جدول الأقسام D

اسم العمود المستعار مشابه لما يلي:

حدد d.DepartmentId كـ Id و d.DepartmentName كـ Name من جدول Department d

في مجموعات النتائج المُعادة ، سيتم إرجاع البيانات الموضحة أعلاه، باستثناء أن "DepartmentID" سيظهر كـ "Id"، و"DepartmentName" سيظهر كـ "Name".

كذلك، إذا تم اختيار جدول واحد فقط ولم يستخدم الاستعلام عمليات ربط الجداول ، فيجوز حذف اسم الجدول أو اسمه المستعار من اسم العمود في عبارة SELECT. مثال:

حدد معرف القسم ( Id) واسم القسم ( Name) من جدول الأقسام (d).

تدعم بعض الأنظمة، مثل Postgres [ 2 ] وPresto [ 3 تحديد أسماء مستعارة للأعمدة إلى جانب أسماء مستعارة للجداول. على سبيل المثال

حدد D.Id من جدول Department كـ D ( Id )

سينتج نفس مجموعة النتائج السابقة. في هذه الصيغة، يُسمح بحذف الأسماء المستعارة لبعض أسماء الأعمدة. في المثال، تم توفير اسم مستعار لـ DepartmentId، ولكن تم حذفه لـ DepartmentName. ستُترك الأعمدة ذات الأسماء المستعارة غير المحددة بدون أسماء مستعارة. تُستخدم هذه الصيغة غالبًا مع التعبيرات التي لا تُنتج أسماء جداول وأعمدة مفيدة، مثل VALUES [ 4 ] و UNNEST [ 5 ] . على سبيل المثال، يمكن اختبار عبارات SQL المذكورة أعلاه بسهولة دون إنشاء جدول Departments فعلي باستخدام تعبيرات مثل

WITH Department ( DepartmentId , DepartmentName ) AS ( VALUES ( 1 , 'HR' ), ( 2 , 'IT' )) SELECT DepartmentId AS Id , DepartmentName AS Name FROM Department d ;

مراجع

  1. معيار ANSI SQL – وثيقة أساسية – التاريخ: 14-10-2010
  2. PostgreSQL: التوثيق: 13: 7.2. تعابير الجداول
  3. https://prestodb.io/docs/0.248/sql/select.html SELECT — وثائق Presto 0.248
  4. https://prestodb.io/docs/0.248/sql/values.html#examples القيم — وثائق Presto 0.248
  5. https://prestodb.io/docs/0.248/sql/select.html#unnest SELECT — وثائق Presto 0.248