Skip to main content

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

Basic SELECT statement

اغلب ابتدایی ترین دستور نرم افزار SQL Server، دستور پایه ای SELECT تلقی میگردد و در این درس علاوه بر ارائه مثال عملی در نحوه اجرا کوئری ها در جهت استفاده از دستور سلکت برای بازگردانی داده های مورد نظر، همچنین با تکنیک های مورد نیاز کدنویسی آشنا می شویم.

لینک کمکی (official link) – دستور SELECT (SQL Server)

دستور SELECT در اس کیو ال سرور

خب؛ اجازه دهید به یکی از دستورات پایه select یک نگاهی بیندازیم. در اینجا من در sql server management studio هستم و میخواهم یک query جدیدی را ایجاد کنم.

در این قسمت که ما میتوانیم با انتخاب این فلش به سمت پایین لیست پایگاه‌های داده را مشاهده کنیم، مطمئن شوید که AdventureWorks را انتخاب کرده باشیم تا دستورات ما در آن پایگاه داده ایجاد شود.

میتوانم پیش بروم و فقط در یک دستور select که در پایگاه داده برای برخی داده‌ها است جستجو کنم.

بنابراین ماselect *   را تایپ میکنیم. به یاد داشته باشید که ستاره همه ستونهای این جدول را انتخاب میکند.

بعد از آن کلمه کلیدی from را قرار میدهیم و بعد باید نام جدول را بگوییم.

برای این برنامه آزمایشی میخواهم با HumanResources.Employee پیش بروم و بعد از آن جلو میروم و با کلیک بر روی علامت تعجب قرمز که علامت اجرا دستور است یعنی دکمه‌ای که برچسب execute را دارد، برنامه را اجرا میکنم و در پایین به برخی از نتایج میرسم.

همانطور که مشاهده میکنید 290 سطر برای ما به نمایش در می‌آید.

این خروجی نشان دهنده تمام داده‌ها در آن جدول است، هر سطر و هر ستون.

شما میتوانید به بالاترین قسمت حرکت کنید و همه ستونها را ببینید و آنها را مرور کنید.

در واقع میتوانیم به بالا و پایین حرکت کنیم و همه اطلاعات را راجب 290 سطر ببینیم.

بازگرداندن اطلاعات از ستون های دلخواه با دستور سلکت

برای این query ما دستوری از select را انجام دادیم که به ما همه ستونهای جدول را داد و شایعتر این است که به ستونهای خاصی که مد نظر شما است و دوست دارید آنها را ببینید نگاه کنید.

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

بنابراین من بعد از SELECT تایپ میکنم LogInID و بعد یک کاما میگذارم و تایپ میکنم JobTitle و در نهایت بعد از کاما میتوانم تایپ کنم VacationHours BirthDate و آنها را امتحان میکنم.

حتی من میخواهم یک ستون دیگر را هم فراخونی کنم، پس بعد از کاما تایپ میکنم BirthDate. باید دقت کنم که بعد از آخرین نام جدولی که قصد فراخونی آنرا داریم کاما نگذارم.

و حالا query من میگوید ستونهای LogInID, JobTitle, VacationHours, BirthDate را از جدول HumanResources. Employee انتخاب کن و زمانی که این دستور را اجرا کنم فقط به این ستونها میرسم. من هنوز سطرها را دارم ولی ستونهایی که به من برمیگرداند را محدود کردم به همین 4 تا که تایپ کردیم.

استفاده از ابزار autocomplete در کوئری sql

برای نام جدول، اگر شما نمیخواهید HumanResources.Employee را به صورت کامل تایپ کنید، تکمیل کننده خودکار یا به اصطلاح مایکروسافت autocomplete میتواند به شما کمک کند. بنابراین اگر شما تایپ کردن نام جدول یعنی HUMAN را شروع کردید، human resources به شما پیشنهاد میشود.

روی آن کلیک کنید و بعد از آن یک نقطه قرار بدهید. هر چیزی که در این زمینه معتبر باشد و اینطور بگویم در آن محدوده زیرشاخه‌هایی داشته باشد همگی را نشان میدهد.

employee را انتخاب میکنیم.

بنابراین اگر شما واقعاً نمیخواهید HumanResources.Employee را تایپ کنید، این ابزار مقداری در سرعت عمل تأثیر دارد.

تکنیک درآگ و درآپ برای خلاصه نویسی کدهای کوئری

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

درobject explorer، لیست AdventureWorks را گسترش میدهم و روی table کلیک میکنم.

با جدول HumanResources.Employe کار داریم.

بنابراین فقط با پایین نگه داشتن کلیک چپ اشاره‌گر ماوس زمانی که روی آن قرار داریم، این گزینه را انتخاب و آنرا میکشم به سمت راست کلمه from و پیش میروم و وقتی در دستور قرار گرفتیم کلیک چپ ماوس را رها میکنیم.

مفهوم براکت در کوئری های SQL Server

دقت کنید که داخل براکت قرار میگیرد. براکتها در sql server یک چهارچوب برای نامگذاری هستند که شما را با کاراکترهای خاص کمک میکنند. بنابراین معمولاً زمانی که شما نام جدولی را میخواهید و قصد شما این است که از استفاده از کاراکترهای خاص جلوگیری کنید. اما اگر شما از نوعی از ترتیب علامتهای نشانه گذاری نقطه یا space استفاده کنید، هر بار که به جدول مراجعه کنید، باید آنرا داخل براکت بگذارید. خیلی از مواقع زمانی که ماشین کد را برای شما مینویسد، اتوماتیک همه چیز را در داخل براکت قرار میدهد و اینکه آیا آن کاراکترهای خاص دارد یا نه و این به هر چیزی که داخل براکت است صدمه نمیزند. ضرورتی هم برای این کار نیست، اما به چیزی هم صدمه نمیزنند.

دوباره میتوانیم آنرا اجرا کنیم و به نتایج مشابه‌ای برای query، مانند مثال قبلی برسیم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دوره ها
درس ها
طهاکو من
0