ورود

View Full Version : سوال: توضیح مختصر در مورد این کوئری



Sp|R|T
سه شنبه 02 آبان 1391, 15:38 عصر
سلام
من تو چندین فروم این سوال رو کردم و هیجا جوابی رو نگرفتم :افسرده:
اومیدوارم که اینجا دوستان بتونن منو راهنمایی کنن

دوستان یک توضیح مختصری در مورد اینجور کوئری ها رو میخواستم:


$dn2 = mysql_query('select t.id2, t.authorid, t.message, t.timestamp, u.username as author, u.avatar from talar_topics as t, users as u where t.id="'.$id.'" and u.id=t.authorid order by t.timestamp asc');

چرا قبل فیلدا بعضی u و بعضی t گذاشته ؟

کلآ میخوام بدونم این کوئری چطور اجرا میشه

اومیدوارم که بی جواب نمونه...

AmirSky
دوشنبه 15 آبان 1391, 19:59 عصر
select t.id2, t.authorid, t.message, t.timestamp, u.username as author, u.avatar
from talar_topics as t, users as u
where t.id="'.$id.'" and
u.id=t.authorid
order by t.timestamp asc



چرا قبل فیلدا بعضی u و بعضی t گذاشته ؟


t یا u نام مستعار جدول های مورد جستجو است. مثلا talar_topics as t
و t قبل فیلدها یعنی اینکه از جدولی که نام مستعار t داده شده انتخاب شود نه از جدول دیگری
زمانی که از چند جدول در جستجو استفاده میشود باید قبل از فیلد مشخص شود از کدام جدول است. که البته میتوان نام جدول را کامل هم نوشت
اما برای اختصار بهتر است یک نام مستعار داده شود
در مثال بالا جدولها ارتباطی با هم داده نشده و از شرط where برای هر دو جدول استفاده کرده
در صورتی که جدول ها ارتباط داشته باشند میتوان از انواع JOIN استفاده نمود