📞 02166056460

دستور SELECT در sql

8 / 10
از 18 کاربر
بازگشت به لیست مقالات » | یکشنبه 19 مهر 1405 در ساعت 9 و 23 دقیقه | نظرات کاربران ( 3 )

دستور SELECT در SQL چیست و چه کاربردی دارد؟

💡آشنایی با بازیابی داده ها

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

📘ساختار پایه دستور SELECT

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

SELECT column_name(s)
FROM table_name;
⭐معنی اجزای دستور

SELECT در اینجا به مفهوم فعل است و مشخص می کند که می خواهیم اطلاعاتی را بخوانیم. پس از آن، نام ستون یا ستون هایی نوشته می شود که باید در خروجی دیده شوند. کلمه FROM نیز نام جدول یا منبع داده را مشخص می کند. این دو بخش در ساده ترین پرس و جوهای SQL کنار هم قرار می گیرند و پایه بسیاری از گزارش ها و جستجوهای پایگاه داده هستند.

  • فهرست ستون ها: مشخص می کند قصد خواندن کدام ستون ها را از بانک اطلاعاتی دارید. برای نمونه، می توانید فقط نام و شهر مشتریان را انتخاب کنید و نیازی به دریافت سایر اطلاعات نداشته باشید.
  • کلمه FROM: تعیین می کند ستون های مورد نظر از کدام جدول یا جداول انتخاب شوند. اگر نام جدول اشتباه باشد یا در دسترس نباشد، پایگاه داده نمی تواند پرس و جو را اجرا کند.
  • ترتیب نوشتن: در دستور ساده، ابتدا SELECT و سپس فهرست ستون ها می آید و بعد از آن FROM و نام جدول نوشته می شود. نقطه ویرگول در بسیاری از محیط ها برای پایان دستور استفاده می شود.

انتخاب همه ستون ها با دستور SELECT *

📋نمایش تمام ستون ها

دستور SELECT همه اطلاعات موجود در جدول را انتخاب می کند. برای انتخاب کلیه ستون های جدول، در قسمت نام ستون باید علامت ستاره (*) را قرار داد. برای مثال، اگر جدول مشتریان شامل شناسه، نام، شماره تماس و نشانی باشد، این پرس و جو تمام این ستون ها را در نتیجه نمایش می دهد.

SELECT *
FROM table_name;
⚠️نکته مهم درباره ستاره

نکته مهم: برخی از برنامه نویسان به جای نوشتن تمام ستون هایی که در تهیه گزارش به آنها احتیاج دارند از * استفاده می کنند. این کار ممکن است داده بیشتری از نیاز برنامه منتقل کند، بار شبکه را بالا ببرد و کارایی سیستم را پایین بیاورد. در پرس و جوهای پرکاربرد بهتر است نام ستون های مورد نیاز به طور کامل نوشته شود.

چطور ستون های مشخص را از جدول بخوانیم؟

🔎دریافت داده های ضروری

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

SELECT first_name, city
FROM customers;
✅مزایای انتخاب ستون های لازم

انتخاب دقیق ستون ها باعث می شود خروجی پرس و جو فقط شامل داده های مورد استفاده باشد. این کار می تواند حجم انتقال اطلاعات را کاهش دهد، خواندن کد را ساده تر کند و احتمال افشای ناخواسته اطلاعات حساس را پایین بیاورد. این مزیت به ویژه در جدول های بزرگ، برنامه های وب و گزارش هایی که مرتب اجرا می شوند اهمیت دارد.

روش انتخاب نمونه کاربرد معمول
انتخاب همه ستون ها SELECT * FROM customers; بررسی سریع ساختار یا داده های جدول
انتخاب ستون های مشخص SELECT first_name, city FROM customers; ساخت گزارش سبک و هدفمند
انتخاب همراه شرط SELECT name FROM products WHERE price < 100; پیدا کردن ردیف های منطبق با معیار

فیلتر کردن نتیجه با شرط WHERE

🎯پرس و جوی هدفمند

برای محدود کردن ردیف های برگشتی، می توان از بند WHERE استفاده کرد. شرط پس از این کلمه نوشته می شود و فقط ردیف هایی در نتیجه باقی می مانند که شرط را برآورده کنند. عملگرهایی مانند مساوی، بزرگ تر، کوچک تر، AND و OR امکان تعریف معیارهای ساده یا ترکیبی را فراهم می کنند.

SELECT product_name, price
FROM products
WHERE price < 100;
۱

مقدار متنی را درست بنویسید: در بیشتر سامانه های SQL، مقدارهای متنی داخل کوتیشن قرار می گیرند. مقدار عددی معمولا بدون کوتیشن نوشته می شود. نوع داده ستون را بشناسید تا شرط با قالب درست مقایسه شود و نتیجه مورد انتظار به دست آید.

۲

شرط های ترکیبی را واضح بنویسید: با AND باید همه شرط ها برقرار باشند، اما OR زمانی نتیجه را برمی گرداند که دست کم یکی از شرط ها درست باشد. هنگام ترکیب این عملگرها از پرانتز استفاده کنید تا ترتیب ارزیابی روشن باشد.

۳

مقادیر خالی را در نظر بگیرید: برای بررسی مقدار NULL معمولا از IS NULL یا IS NOT NULL استفاده می شود. مقایسه مستقیم با علامت مساوی، روش مناسبی برای شناسایی مقدارهای NULL نیست؛ زیرا این مقدار نشان دهنده داده نامشخص یا ثبت نشده است.

مرتب سازی، حذف تکرار و محدود کردن خروجی

↕️کنترل شکل نتیجه

پس از انتخاب داده ها، گاهی لازم است ردیف ها مرتب شوند یا نتیجه فقط شامل مقدارهای یکتا باشد. بند ORDER BY ترتیب نمایش را مشخص می کند و DISTINCT برای حذف ردیف های تکراری در خروجی کاربرد دارد. در بعضی پایگاه های داده می توان تعداد ردیف های برگشتی را نیز محدود کرد، اما نام و شیوه این قابلیت ممکن است میان سامانه ها متفاوت باشد.

SELECT DISTINCT city
FROM customers
ORDER BY city ASC;
🧭نکته های مرتب سازی

برای مرتب سازی صعودی از ASC و برای مرتب سازی نزولی از DESC استفاده می شود. اگر جهت مشخص نشود، بسیاری از سامانه ها ترتیب صعودی را در نظر می گیرند. می توان چند ستون را برای مرتب سازی تعیین کرد؛ در این حالت ابتدا ستون اول و سپس ستون های بعدی برای ردیف های هم مقدار بررسی می شوند. ترتیب نهایی را با نیاز گزارش هماهنگ کنید.

کار با چند جدول و نام مستعار ستون ها

🔗ترکیب اطلاعات مرتبط

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

SELECT customers.first_name AS customer_name, orders.order_date
FROM customers
JOIN orders ON customers.id = orders.customer_id;

نکات بهینه سازی و خطاهای رایج در SELECT

  • از انتخاب بی دلیل همه ستون ها پرهیز کنید: در کد عملیاتی فقط ستون هایی را بخوانید که واقعا لازم دارید. این کار حجم داده و هزینه پردازش را در بسیاری از سناریوها کاهش می دهد.
  • نام جدول و ستون را بررسی کنید: غلط املایی، نام قدیمی یا استفاده از نام مبهم می تواند خطای اجرا ایجاد کند. در پرس و جوهای چندجدولی، پیشوند نام جدول خوانایی و دقت را بیشتر می کند.
  • شرط ها را متناسب با نوع داده بنویسید: مقایسه تاریخ، متن و عدد قواعد خاص خود را دارد. از تبدیل های ناخواسته داده پرهیز کنید و در صورت نیاز قالب تاریخ را مطابق پایگاه داده تنظیم کنید.
  • ورودی کاربر را مستقیم وارد SQL نکنید: برای ساخت پرس و جو در برنامه، از پرس و جوهای پارامتری و روش های امن کتابخانه پایگاه داده استفاده کنید. این کار خطر تزریق SQL را کاهش می دهد.
  • عملکرد را اندازه گیری کنید: روی جدول های بزرگ، وجود شرط مناسب و ایندکس های درست می تواند اثرگذار باشد؛ با این حال انتخاب ایندکس باید بر اساس الگوی واقعی پرس و جو و ابزار بررسی عملکرد انجام شود.
🛠️یک روند ساده برای نوشتن پرس و جو

ابتدا مشخص کنید چه اطلاعاتی نیاز دارید، سپس جدول منبع را پیدا کنید و ستون های ضروری را انتخاب کنید. بعد شرط های فیلتر را اضافه کنید و در صورت نیاز نتیجه را مرتب یا محدود کنید. در پایان، پرس و جو را با داده های نمونه آزمایش کنید و مطمئن شوید که خروجی هم از نظر محتوا و هم از نظر سرعت مناسب است. این روند ساده از بسیاری از خطاهای رایج جلوگیری می کند.

جمع بندی دستور SELECT در SQL

✅از انتخاب ساده تا گزارش دقیق

دستور SELECT نقطه شروع خواندن داده در SQL است. با مشخص کردن ستون ها و جدول، نتیجه پایه به دست می آید و با WHERE، ORDER BY، DISTINCT و JOIN می توان آن را دقیق تر و کاربردی تر کرد. برای پرس و جوهای روزمره، انتخاب ستون های مورد نیاز به جای ستاره، رعایت شرط های درست و بررسی خروجی، به ساخت برنامه های قابل نگهداری کمک می کند. تسلط بر دستور SELECT در SQL برای کار با پایگاه داده و توسعه نرم افزار، از جمله پروژه های طراحی سایت، مهارتی پایه و ارزشمند است.

سوالات متداول دستور SELECT در SQL

دستور SELECT در SQL چه کاری انجام می دهد؟

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

علامت ستاره در SELECT * چه معنایی دارد؟

علامت ستاره یعنی همه ستون های جدول انتخاب شوند. برای پرس و جوهای دائمی بهتر است ستون های مورد نیاز را صریح بنویسید تا داده اضافی منتقل نشود و هدف کد روشن بماند.

چطور در دستور SELECT فقط ردیف های خاص را نمایش دهیم؟

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

آیا می توان با SELECT داده های چند جدول را خواند؟

بله. با استفاده از JOIN می توان جدول های مرتبط را بر اساس ستون های پیونددهنده ترکیب کرد. هنگام انتخاب ستون ها، بهتر است نام جدول نیز مشخص شود تا ابهامی باقی نماند.

تفاوت DISTINCT و ORDER BY در چیست؟

DISTINCT مقدارهای تکراری را از نتیجه انتخاب حذف می کند، در حالی که ORDER BY ترتیب نمایش ردیف ها را مشخص می کند. این دو بند هدف های متفاوتی دارند و می توانند در یک پرس و جو کنار هم استفاده شوند.

ارسال نظر و نظرات ثبت شده
mahdi :
302 0
Thank you, very good
:
14 0
تانکیو وری ماچ عالی بود
مائده :
33 1
بسیار عالی با تشکر فراوان
سایر مقالات
دستور Delete در sql دستور DELETE در SQL؛ آموزش حذف رکورد از جدول 💡آشنایی با حذف داده‌ها دستور DELETE در ...
دستور Update در sql دستور Update در SQL چیست و چه کاربردی دارد؟ 💡آشنایی با به روزرسانی داده ها دستور Update در ...
دستور Insert در sql دستور Insert در اسکیوال برای افزودن رکورد به جدول به کار می رود. در این راهنما با شیوه نوشتن دستور، ...
دستور مرتب سازی Order By در sql دستور ORDER BY در SQL چیست و چه کاربردی دارد؟ 💡مرتب سازی خروجی کوئری دستور ORDER BY در SQL ...
دستور Group By در sql آموزش SQL دستور GROUP BY در SQL؛ آموزش گروه بندی و مثال کاربردی یاد بگیرید داده ها را ...
دستور شرطی Having در sql دستور Having در SQL برای فیلتر کردن نتیجه گروه بندی و اعمال شرط روی مقادیر محاسبه شده با توابعی مانن ...
عملگر های And و Or در SQL آموزش SQL عملگرهای AND و OR در SQL؛ راهنمای ترکیب شرط ها با مثال های کاربردی، تفاوت AND و ...
دستور شرطی WHERE در sql دستور WHERE در SQL چیست و چه کاربردی دارد؟ 🔎فیلتر کردن نتیجه ها دستور WHERE در SQL برای تعی ...
دستور SELECT DISTINCT در sql دستور SELECT DISTINCT در SQL چیست و چه کاربردی دارد؟ 💡آشنایی با حذف تکرارها در پایگاه داده، ...
دستور SELECT در sql دستور SELECT در SQL چیست و چه کاربردی دارد؟ 💡آشنایی با بازیابی داده ها دستور SELECT در SQL ...
دسته بندی
جستجو
⏳ در حال پردازش...
لطفا صبر کنید