SQLوضع أسماء مختصرة للجداول
- الكلمة AS مع الجداول
- تجهيز قاعدة البيانات التي سنطبق عليها
- متى نحتاج وضع أسماء مختصرة؟
- أمثلة على وضع أسماء مختصرة للجداول
الكلمة AS مع الجداول
في هذا الدرس ستتعلم طريقة وضع أسماء مختصرة للجداول حين تجلب المعلومات من أكثر من جدول في نفس الوقت حتى لا تضطر إلى كتابة إسم الجدول كما هو كلما أردت الإشارة إلى عمود موجود فيه.
طريقة استخدامها
إذاً لوضع إسم مختصر للجدول نضع AS بعد إسم الجدول و من ثم ندخل الإسم المختصر له.
بعد وضع إسم مختصر للجدول، تصبح قادر على استخدام الإسم المختصر للوصول لأعمدته.
تجهيز قاعدة البيانات التي سنطبق عليها
قم بتنفيذ الإستعلام التالي حتى تنشئ قاعدة بيانات جديدة إسمها harmash
تحتوي على الجداول التالية:
- الجدول الأول إسمه
countries
و هو مخصص لحفظ معلومات البلدان. - الجدول الثاني إسمه
users
و هو مخصص لحفظ معلومات المستخدمين و التي من ضمنها بلد كل مستخدم.
مثال
فيما يلي البيانات التي قمنا بإضافتها في الجدول countries
.
countries | ||
---|---|---|
id | name | |
1 | KSA | |
2 | Oman | |
3 | Egypt | |
4 | Kuwait | |
5 | Bahrain |
فيما يلي البيانات التي قمنا بإضافتها في الجدول users
.
users | ||||
---|---|---|---|---|
id | username | first_name | last_name | country_id |
1 | rami | Rami | Masri | 1 |
2 | ahmad | Ahmad | Naji | 2 |
3 | hanan | Hanan | Mostafa | 5 |
4 | saly | Saly | Harmush | NULL |
5 | samir | Samir | Saleh | 3 |
6 | hamad | Hamad | Akel | 2 |
7 | abdullah | Abdullah | Helmi | 1 |
8 | rashed | Rashed | Masri | 5 |
9 | majed | Majed | Alali | NULL |
10 | rayan | Rayan | Kasabi | NULL |
إذا وضعنا الجدولين بجانب بعض سنلاحظ كيف ربطنا قيم الجدول users
بقيم الجدول countries
من خلال رقم التعرفة id
الخاص بكل بلد.
متى نحتاج وضع أسماء مختصرة؟
وضع أسماء مختصرة للجداول التي يتم إحضار قيم منها هو أمر إختياري و لكنه مفيد لأنه يمكن من خلاله تقليل حجم كود الإستعلام.
إذا كنا سنحضر البيانات من جدول واحد فقط، لا يوجد أي فائدة من وضع إسم مختصر للجدول مع أن ذلك ممكن.
متى يكون ذكر أسماء الجداول إجباري؟
يكون ذكر أسماء الجداول أو استخدام الأسماء المختصرة لها أمر إجباري في حال كانت الجداول الموضوعة في نفس الإستعلام تحتوي على أعمدة تملك نفس الإسم. في هذه الحالة أسماء الجداول أو الأسماء المختصرة لها تمكن مفسر الإستعلامات من التفرقة بينها.
في حال كان الجدول نفسه يحتوي على أعمدة قيمها مترابطة ببعضها البعض، عندها ستضطر لاستدعاء الجدول نفسه مرتين في ذات الإستعلام و تكون مجبر على وضع إسم مختصر للجدول حتى تتمكن من جلب البيانات بشكل مترابط.
ربط بيانات الجدول نفسه ببعضها ( Self Join ) لم نتطرق له سابقاً لأنك يجب أن تعرف كيف تضع إسم مختصر للجدول حتى تتمكن من فعل ذلك. في الدرس التالي ستتعلم كيف يتم ربط بيانات الجدول نفسه ببعضها بالتفصيل.
أمثلة على وضع أسماء مختصرة للجداول
في المثال التالي قمنا بعرض بيانات موجودة في جدول واحد بأساليب مختلفة.
المثال الأول
شكل الإستعلام بدون وضع أسماء مختصرة للجداول.
شكل الإستعلام مع ذكر إسم الجدول الذي نتعامل مع أعمدته.
شكل الإستعلام إذا وضعنا الحرف u
كإسم مختصر للجدول users
.
النتيجة
first_name | last_name |
---|---|
Rami | Masri |
Ahmad | Naji |
Hanan | Mostafa |
Saly | Harmush |
Samir | Saleh |
Hamad | Akel |
Abdullah | Helmi |
Rashed | Masri |
Majed | Alali |
Rayan | Kasabi |
في المثال التالي سنقوم بعرض بيانات موجودة في الأصل في جدولين هما users
و countries
.
كلا الجدولين فيهما عمود إسمه id
و الذي يعتبر بمثابة العمود المفتاح في كل جدول.
هنا يجب ذكر إسم الجدول أو الإسم المختصر له قبل ذكر إسم العمود id
هو أمر إجباري حتى يكون مفسر الإستعلام قادر على التفرقة بين العمود الموجود في الجدول users
و العمود الموجود في الجدول countries
.
الآن في حال أردنا عرض رقم التعرفة id
و إسم المستخدم username
لكل مستخدم موجود في الجدول users
مع إسم بلده المذكور في الجدول countries
، يمكننا ربط الجدولين بطريقة LEFT JOIN و هنا ستلاحظ أن حجم الكود سيصبح أقل إذا وضعنا أسماء مختصرة للجداول.
المثال الثاني
شكل الإستعلام مع ذكر إسم كل جدول نتعامل مع أعمدته.
شكل الإستعلام إذا وضعنا الحرف u
كإسم مختصر للجدول users
و الحرف c
كإسم مختصر للجدول countries
.
النتيجة
id | username | country |
---|---|---|
1 | rami | KSA |
2 | ahmad | Oman |
3 | hanan | Bahrain |
4 | saly | NULL |
5 | samir | Egypt |
6 | hamad | Oman |
7 | abdullah | KSA |
8 | rashed | Bahrain |
9 | majed | NULL |
10 | rayan | NULL |