توی این آموزش یاد میگیریم که چجوری از دستور select برای دریافت اطلاعات از جدولها استفاده کنیم...
یکی از پرکاربردترین دستورات هنگام کار با دیتابیس، دستور select است که با اون میتونیم اطلاعاتی رو با توجه به شرایط تعیین شده از جدول(ها) دریافت کنیم.
این دستور یکسری بند (که از این پس caluse مینامیم ) داره که ابتدا اونها رو یک بررسی مختصر میکنیم:
ابتدا با شکل سادهی SELECT شروع میکنیم
SELECT select_list FROM table_name;
نکته: توجه داشته باشید که مقدار FROM قبل از دستور SELECT بررسی میشود.
نکته: دستورات SQL به کوچک یا بزرگ بودن حروف حساس نیستند، یعنی اگر شما به جای SELECT از select و یا Select استفاده کنید تفاوتی ایجاد نمیشود اما به طور قرارداد، برای اینکه دستورات راحتتر خوانده شوند آنها را با حروف بزرگ مینویسیم.
نکته: توجه کنید که دستور FROM به عنوان بخش الزامی و اجباری از دستور SELECT نیست و میتوان آنرا حذف کرد و دستور SELECT تنها یک expression را محاسبه کند. (در طول آموزش و قسمتهای بعدی نمونههایی خواهیم دید)
خب، بهتر است که چند مثال از این دستور را ببینیم. فرض کنید یک جدول با نام customer به شکل زیر داریم:
با استفاده از کد زیر تنها مقادیر ستون first_name را دریافت میکنیم:
SELECT first_name FROM customer;
خروجی دستور به این شکل میشود:
اگر در دستور بالا به جای first_name از علامت * استفاده میکردیم، مقادیر تمامی ستونها از جدول customer برایمان لیست میشد. توجه داشته باشید که استفاده از * در تمامی حالات مناسب نیست زیرا:
نکته: علامت ; که در انتهای query نوشتیم جزیی از دستور SQL نیست و تنها با استفاده از آن به SQL میفهمانیم که دستور ما در اینجا به پایان رسید و البته برای جدا کردن چند دستور SQL هم به کار میرود.
گاهی اوقات ممکن است که نیاز داشته باشید که در دستور select از یک expression هم استفاده کنید.
به طور مثال فرض کنید که قصد دارید از جدول customer، مقدار ستون email و مقدار ترکیب شدهی ستونهای first_name و last_name رو دریافت کنید، در این حالت به این شکل عمل میکنیم:
SELECT first_name || ' ' || last_name, email FROM customer;
که خروجی دستور بالا به این شکل خواهد بود:
در مثال بالا از concatenation operator استفاده کردیم تا بتوانیم مقادیر ستون first_name و last_name رو با هم ترکیب کنیم اما اگر به خروجی توجه کنید میبینید که اسم ستون حاصل از این ترکیب به صورت ?column? در آمده که در آموزش تعیین نام مستعار برای یک ستون توضیح دادم که چجوری این مشکل رو برطرف کنید.
استفاده از دستور SELECT بدون FROM:
SELECT 5 * 3;
که خروجی آن به صورت زیر خواهد بود:
هنوز کلی با دستور SELECT کار داریم، پس فعلا اینها رو تمرین کنید تا بریم سراغ آموزش بعدی...