🎁 تخفیف ویژه تمامی دوره های آموزشی 🎁

دستور SELECT در SQL Server

در این بخش نحوه انتخاب داده ها از جداول پایگاه داده در SQL Server آموزش داده می شود.

دستور SELECT در SQL Server

دستور SELECT در SQL Server

در SQL Server از عبارت SELECT برای بازیابی داده های ردیف ها/ستون ها از یک یا چند جدول موجود استفاده می شود. این دستور از استانداردهای SQL ، زبان کویریی ساختار یافته (Structured Query Language) ، پیروی می کند.

دستور SELECT در SQL Server

انتخاب همه ستون ها

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

انتخاب همه ستون ها از جداول پایگاه داده

همانطور که در شکل زیر نشان داده شده است ، کویری بالا تمام داده های ردیف ها و ستون ها را از جدول Employee برمی گرداند.

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

انتخاب داده های ستون خاص

نام ستون را در دستور SELECT مشخص کنید تا داده ها را فقط از آن ستون ها ، همانطور که در شکل زیر مشاهده می کنید ، دریافت کنید.

SELECT in SQL Server

کویری بالا نتیجه زیر را نشان می دهد.

انتخاب داده های ستون خاص در جداول SQL Server

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

می توانید یک نام مستعار (alias) را برای یک یا چند ستون در کویری SELECT تعیین کنید. نام مستعار یک نام موقتی برای یک جدول یا ستون در کویری است.

مزایای استفاده از Alias:

1 - Alias یک ستون را در مجموعه نتیجه قابل خواندن تر می کند.

2 - Alias برای دادن یک نام کوچک ، مختصر و معنی دار به جداول در کویری استفاده می شود تا ارجاع به جدول ها در join کردن جدول های مختلف ، آسان شود.

3 - Alias به ما کمک می کند تا در صورت دریافت داده ها از چندین جدول مختلف ، بفهمیم کدام ستون به کدام جدول تعلق دارد.

کویری زیر "Employee Id" را برای EMPID مشخص می کند و Name را به عنوان alias یا همان نام مستعار برای ستون FirstName در کویری SELECT تعیین می کند. اگر می خواهید یک فضا یا رشته دیگری در آن داشته باشید ، یک نام مستعار را در نقل قول های single یا double مشخص کنید.

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

کویری بالا نتیجه زیر را نشان می دهد.

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

اپراتور + در دستور SELECT

اپراتور + درMS SQL Server مقادیر رشته ای را به هم می پیوندد یا مقادیر عددی را اضافه می کند. آنچه که در زیر می بینید دو ستون از نوع Varchar را در نتیجه به هم متصل می کند.

اپراتور + در دستور  SELECT

کویری بالا نتیجه زیر را نشان می دهد.

اپراتور + در دستور  SELECT

آنچه که در زیر می بینید اعداد را در کویری select جمع می کند.

آموزش SQL Server

عبارت FROM

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

برای انتخاب داده ها می توانید چندین جدول را در بخش FROM مشخص کنید. با این حال ، اگر جداول دارای ستون های یکسانی هستند ، باید نام کامل ستون مانند Table_Name.column_name را در کویری SELECT تعیین کنید.

مثال زیر ستون ها را از دو جدول انتخاب می کند.

FROM clause in SELECT in SQL Server

داشتن چندین جدول در بخش FROM ، بدون WHERE و JOIN ، داده های تکراری را از هر جدول بر می گرداند. به عنوان مثال ، اگر جدول Employee دارای دو ردیف و جدول Department دارای دو ردیف باشد ، سپس کویری بالا چهار ردیف را باز می گرداند که ستون های یک جدول برای ستون های جدول دیگر تکرار می شود. شما در بخش آموزش JOIN اطلاعات بیشتری در مورد آن خواهید آموخت.

عبارت WHERE در SQL Server

در SQL Server، دستور SELECT می تواند یک عبارت WHERE اختیاری برای فیلتر کردن داده ها داشته باشد. عبارت WHERE می تواند شامل یک یا چند شرط بولی برای فیلتر کردن داده های جداول باشد.

عبارت WHERE همیشه بعد از عبارت FROM و قبل از بندهای GROUP BY، HAVING و ORDER BY می آید.

سینتکس آن به صورت زیر است:

دستور where در SQL Server

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

عبارت  WHERE در SQL Server

عبارت WHERE می تواند شامل یک یا چند شرط باشد که می تواند از عملگرهای شرطی (conditional operators) برای فیلتر کردن داده های نتیجه استفاده کند. کویری زیر را در نظر بگیرید.

عبارت  WHERE در SQL Server

در عبارت بالا، شرط Salary > 25000 سطرهایی را برمی گرداند که در آن ها مقدار ستون حقوق بیشتر از 25000 است. درخواست بالا نتیجه زیر را برمی گرداند.

عبارت  WHERE در SQL Server

کوئری زیر از عملگر BETWEEN در عبارت WHERE استفاده می کند.

عبارت  WHERE در SQL Server

در کویری بالا، شرط حقوق بین 17000 و 25000 سطرهایی را برمی گرداند که در آن مقدار ستون حقوق بین 17000 و 25000 (شامل هر دو مقدار) است. کویری فوق رکوردهای زیر را دریافت می کند.

عبارت  WHERE در SQL Server

شرایط چندگانه در عبارت WHERE در SQL Server

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

شرایط چندگانه در عبارت  WHERE در SQL Server

در کویری بالا، شرط WHERE یعنی DeptId = 1 AND Salary > 20000 دو شرط را مشخص می کند که با عملگر AND از هم جدا شده اند. این سطرهایی را از جدول Employee برمی گرداند که در آن مقدار DeptId برابر با 1 است و حقوق یا Salary بیشتر از 20000 است.

شرایط چندگانه در عبارت  WHERE در SQL Server

Subquery در عبارت WHERE

شرط WHERE همچنین می تواند از مقدار به دست آمده از یک subquery استفاده کند، همانطور که در زیر نشان داده شده است.

شرایط چندگانه در عبارت  WHERE در SQL Server

در کویری بالا، شرط WHERE به صورت WHERE DeptId = (SELECT DeptId FROM Department WHERE DeptName = 'HR') است. بنابراین، ابتدا subquery یا همان پرس و جو فرعی یعنی SELECT DeptId FROM Department WHERE DeptName = 'HR' اجرا می شود و مقدار DeptId به دست آمده برای فیلتر کردن ردیف ها استفاده می شود.

شرایط چندگانه در عبارت  WHERE در SQL Server

اپراتورهای مشروط (Conditional Operators)

عملگرهای زیر را می توان در شرایط WHERE استفاده کرد.

آموزش SQL Server
دستور SELECT در SQL Server انتخاب رکوردهای جداول دیتابیس آموزش SQL Server