Return True - SQL - کار با SELECT FROM در دیتابیس

SQL - کار با SELECT FROM در دیتابیس

در این مقاله، شما نحوه کارکرد دستور SELECT رو در دیتابیس خواهید آموخت. این مقاله تکمیل مقاله  دیگه ای هست که توی سایت گفته شده. پس با ما همراه بشید.

یکی از پرکاربرد ترین دستورات دیتابیس SELECT هست. این دستور به منظور دریافت اطلاعات از دیتابیس فراهم شده. یعنی در واقع شما اطلاعاتی توی دیتابیستون دارین و با استفاده از این دستور، اون اطلاعات رو میتونین ببینین. همچنین یکی از پیچیده ترین دستورات دیتابیسی هست و شرایط زیادری رو فراهم میکنه تا بتونین اطلاعات دیتابیس رو، اونجوری که میخواین ببینین.

به همین دلیل، این مقاله رو به چندین بخش تقسیم میکنیم تا بتونین به راحتی قسمت مورد نظرتون رو بخونین

دستور SELECT شامل بخش های زیر هست:

  • سلکت کردن ردیف های متمایز با استفاده از DISTINCT 
  • مرتب کردن ردیف های سلکت شده با استفاده از ORDER BY
  • فیلتر کردن ردیف های سکلت شده با استفاده از WHERE
  • اعمال محدودیت در تعداد ردیف های سلکت شده با استفاده از LIMIT یا FETCH
  • گروه بندی اطلاعات سلکت شده با استفاده از GROUP BY
  • فیلتر اطلاعات گروه بندی شده با استفاده از HAVING
  • اتصال اطلاعات یک جدول به جدول دیگه با استفاده از JOIN مانند INNER JOIN , LEFT JOIN , FULL OUTER JOIN , CROSS JOIN
  • انجام کارهایی مانند UNION , INTERSECT , EXCEPT

توی این مقاله، ما بر روی SELECT و FROM تمرکز میکنیم.

نحوه استفاده از دستور SELECT

بیاین با فرم بیسیک دستور SELECT شروع کنیم که اطلاعات رو از یک جدول برامون انتخاب میکنه و نمایش میده.

SELECT
   select_list
FROM
   table_name;

بذارین دستور رو با جزئیات بیشتری بررسی کنیم.

  • select_list: توی این بخش، اسم ستون هایی که از دیتابیس قصد دارین بخونین قرار میگیره. اگه بیشتر از یک ستون باشه، باید با کاما (",") از هم جداشون کنین. اگه قصد داریم همه ستون های جدول رو بخونیم، نیازی نیست که اسم همه ستون هارو تک تک بنویسیم. فقط کافیه از عبارت ستاره ("*") توی این قسمت استفاده کنیم تا تمامی ستون ها برامون نمایش داده بشه.
  • table_name: این قسمت، استم جدولی هست که میخوایم ازش اطلاعات رو بخونیم.

کلمه FROM اختیاریه. البته وقتی که ما نخوایم اطلاعات رو از جدولی بخونیم! ( در ادامه میبینین منظور چیه )

نکته: دیتابیس به بزرگی و کوچیکی حروف حساس نیست. یعنی SELECT با select و یا با Select یکیه. ما از حروف بزرگ برای خواناتر کردن QUERY ها استفاده میکنیم.

یک مثال با SELECT 

بیاین به چند مثال نگاهی بندازیم.

فرض کنین توی دیتابیس، جدولی به اسم customer با ساختار زیر داریم:

SQL - کار با SELECT FROM در دیتابیساطلاعات توی این جدول، پیش فرض هست و شما میتونین اطلاعات خودتون رو داشته باشین.

1) انتخاب یک ستون خاص از جدول

توی این مثال با استفاده از دستور SELECT ، ستون first_name رو از جدول customer انتخاب میکنیم.

SELECT first_name FROM customer;

نتیجه خروجی به شکل زیر هست:

SQL - کار با SELECT FROM در دیتابیس

نکته: افزودن ";" توی انتهای هر خط کد برای این قسمت نیاز نیست، ولی وقتی چند خط کد داشته باشیم، با ";" خطوط رو از هم جدا میکنیم تا نتایج QUERY ها با هم قاطی نشن.

2) انتخاب چند ستون از جدول 

فرض کنین شما فقط نیاز دارید اسم کوچیک، اسم بزرگ و ایمیل رو از جدول بدیم.

SELECT
   first_name,
   last_name,
   email
FROM
   customer;

نتیجه به شکل زیر خواهد بود:

SQL - کار با SELECT FROM در دیتابیس

3) انتخاب تمامی ستون های جدول

Query زیر، تمامی ستون های جدول رو بهمون نشون میده:

SELECT * FROM customer;

نتیجه به شکل زیر خواهد بود:

SQL - کار با SELECT FROM در دیتابیس

توی این مثال، ما از "*" برای انتخاب تمامی ستون های جدول، بجای اسم بردن تک تکشون استفاده کردیم.

گرچه انتخاب "*" چندان مناسب به دلایل زیر چندان مناسب نیست:

  1. اگه شما اطلاعات زیادی، به همراه ستون های زیادی داشته باشین، احتمالا همه اطلاعات توی ستون هارو برای نمایش نیاز ندارید. پس استفاده از "*" ضرورتی نداره.
  2. خوندن اطلاعاتی که ضرورتی نداره، باعث افزایش ترافیک غیر ضروری بین سرور و دیتابیس، و در نتیجه پایین اومدن عملکرد اپلیکیشن، وبسایت و یا ... میشه!

به همین دلیل، بهتره همیشه اطلاعات مورد نیاز رو از دیتابیس بخونین و از "*" بخاطر راحتی استفاده نکنین.

4) استفاده از دستور SELECT برای نمایش اطلاعات

اگه نیاز داشته باشیم چیزی مثل حاصلضرب دو عدد، یا تاریخ فعلی و یا هرچیزی که لزوما توی جدول نیست رو نشون بدیم، بدون استفاده از FROM به شکل زیر عمل میکنیم:

SELECT 5 * 3;
SELECT now();

 همونطور که میبینین، هیچ اطلاعاتی از جدول خاصی مورد نظرمون نبود. فقط میخواستیم حاصلضرب 5 و 3 رو بدست بیاریم و یا تاریخ امروز رو نشون بدیم. همچنین همونطور که میبینین، دو خط Query داریم و اینجا به ";" در انتهای هر خط نیازه.

توی این مقاله نحوه استفاده از دستور SELECT بصورت پایه برای Query گرفتن از یک Table توی Database رو یاد گرفتیم.

در صورتی که توی این قسمت مشکلی دارین برامون کامنت بذارین تا با هم در ارتباط باشیم

نظرات