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
با ساختار زیر داریم:
اطلاعات توی این جدول، پیش فرض هست و شما میتونین اطلاعات خودتون رو داشته باشین.
1) انتخاب یک ستون خاص از جدول
توی این مثال با استفاده از دستور SELECT
، ستون first_name
رو از جدول customer
انتخاب میکنیم.
SELECT first_name FROM customer;
نتیجه خروجی به شکل زیر هست:
نکته: افزودن "
;
" توی انتهای هر خط کد برای این قسمت نیاز نیست، ولی وقتی چند خط کد داشته باشیم، با ";
" خطوط رو از هم جدا میکنیم تا نتایجQUERY
ها با هم قاطی نشن.
2) انتخاب چند ستون از جدول
فرض کنین شما فقط نیاز دارید اسم کوچیک، اسم بزرگ و ایمیل رو از جدول بدیم.
SELECT
first_name,
last_name,
email
FROM
customer;
نتیجه به شکل زیر خواهد بود:
3) انتخاب تمامی ستون های جدول
Query زیر، تمامی ستون های جدول رو بهمون نشون میده:
SELECT * FROM customer;
نتیجه به شکل زیر خواهد بود:
توی این مثال، ما از "*
" برای انتخاب تمامی ستون های جدول، بجای اسم بردن تک تکشون استفاده کردیم.
گرچه انتخاب "*
" چندان مناسب به دلایل زیر چندان مناسب نیست:
- اگه شما اطلاعات زیادی، به همراه ستون های زیادی داشته باشین، احتمالا همه اطلاعات توی ستون هارو برای نمایش نیاز ندارید. پس استفاده از "
*
" ضرورتی نداره. - خوندن اطلاعاتی که ضرورتی نداره، باعث افزایش ترافیک غیر ضروری بین سرور و دیتابیس، و در نتیجه پایین اومدن عملکرد اپلیکیشن، وبسایت و یا ... میشه!
به همین دلیل، بهتره همیشه اطلاعات مورد نیاز رو از دیتابیس بخونین و از "*
" بخاطر راحتی استفاده نکنین.
4) استفاده از دستور SELECT
برای نمایش اطلاعات
اگه نیاز داشته باشیم چیزی مثل حاصلضرب دو عدد، یا تاریخ فعلی و یا هرچیزی که لزوما توی جدول نیست رو نشون بدیم، بدون استفاده از FROM
به شکل زیر عمل میکنیم:
SELECT 5 * 3;
SELECT now();
همونطور که میبینین، هیچ اطلاعاتی از جدول خاصی مورد نظرمون نبود. فقط میخواستیم حاصلضرب 5 و 3 رو بدست بیاریم و یا تاریخ امروز رو نشون بدیم. همچنین همونطور که میبینین، دو خط Query
داریم و اینجا به ";
" در انتهای هر خط نیازه.
توی این مقاله نحوه استفاده از دستور SELECT
بصورت پایه برای Query
گرفتن از یک Table
توی Database
رو یاد گرفتیم.
در صورتی که توی این قسمت مشکلی دارین برامون کامنت بذارین تا با هم در ارتباط باشیم