شرح صفوف ومحتوى الفقرة
عندما يشترك جدولان مرتبطان في أسماء أعمدة متطابقة مثل id أو status أو created_at، فإن كتابة اسم العمود مجرداً يطلق خطأ MySQL رقم 1052 بسبب غموض المصدر. ويعالج تعريف الأسماء المستعارة للجداول في جملتي FROM وJOIN (مثل FROM orders AS o) هذه المشكلة باحترافية:
- إزالة الغموض وتأهيل الأعمدة: أسبِق كل عمود بالاسم المستعار لجدوله (
o.created_atمقابلu.created_at) لتحديد الجدول المقصود بدقة. - قاعدة نطاق الاسم المستعار: بمجرد منح الجدول اسماً مستعاراً داخل الاستعلام، يجب استخدام الاسم المستعار حصرياً في
SELECTوONوWHEREبدلاً من اسم الجدول الأصلي الطويل.
SQL
-- Qualify shared column names using concise table aliases
SELECT
o.order_id,
u.full_name,
o.status AS order_status,
o.created_at AS ordered_at
FROM orders AS o
INNER JOIN users AS u
ON o.user_id = u.user_id;