آموزش مقدماتی T-SQL [این‌بار SELECT]

آموزش مقدماتی T-SQL [این‌بار SELECT]

نوشته شده توسط: حمید قلی پور
تاریخ انتشار: ۰۷ مرداد ۱۳۹۴
آخرین بروزرسانی: ۲۶ اردیبهشت ۱۴۰۲
زمان مطالعه: 8 دقیقه
۰
(۰)

مقدمه

با سلام و احترام به همه ی نیک آموزی های گرامی
مقاله که برای شما آماده کردم ترجمه و خلاصه بخشی از فصل سوم کتاب Beginning T-SQL انتشارات Apress هست.
از فصل سوم این کتاب  به صورت خلاصه مواردی که به نظرم مناسب، کاربردی و مهم بودهرو ارائه میدم :

فیلتر کردن داده ها

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

اضافه کردن قانون( بند )WHERE :

سرویس Database engine قانون (قوانین) مربوط به بخش WHERE را بعد از FROM مورد بررسی قرار می دهد.
شکل صحیح دستوری این قانون :

SELECT <column1>,<column2>
FROM <schema>.<table>
WHERE <column> = <value>

به مثال روبرو توجه کنید :

SELECT Name, Family, CustomerID
FROM Customer
WHERE CustomerID = 11

خیلی مشخصه که ما می خواهیم مشخصات مشتری که CustomerID آن برابر ۱۱ هست رو بدست بیاریم.

عملگرهایی که به تناوب با WHERE مورد استفاده قرار می گیرند

شما در زیر با این عملگرها و علامت های آن آشنا می شوید.
< ( بزرگتراز )
> (کوچکتر از )
= ( برابر)
=> (کوچکتر از یا مساوی با )
=< ( بزرگتراز یا مساوی با )
=! (نامساوی )
<> (نامساوی )
>! (کوچکتر نباشد از )
<! (بزرگتر نباشد از )
البته برخی از این نمادها عملکرد یکسانی دارند مثل ( =!  <> )،( =<  >! )،( =>  <! )
حالا به مثال های  زیر دقت بفرمایید :

--۱
SELECT Name, Family, CustomerID
FROM Customer
WHERE CustomerID > 101
--۲
SELECT Name, Family, CustomerID
FROM Customer
WHERE CustomerID < 101
--۳
SELECT Name, Family, CustomerID
FROM Customer
WHERE CustomerID >= 101
--۴
SELECT Name, Family, CustomerID
FROM Customer
WHERE CustomerID <> 101
--۵
SELECT Name, Family, CustomerID
FROM Customer
WHERE CustomerID != 101
--۶
SELECT Name, Family, CustomerID
FROM Customer
WHERE CustomerID !> 101
--۷
SELECT Name, Family, CustomerID
FROM Customer
WHERE CustomerID !< 101

پایان بخش اول از فصل سوم، در ادامه با BETWEEN، NOT، و … آشنا خواهیم شد که در قسمت دوم ارائه می شود.

چه رتبه ای می‌دهید؟

میانگین ۰ / ۵. از مجموع ۰

اولین نفر باش

title sign
دانلود مقاله
آموزش مقدماتی T-SQL [این‌بار SELECT]
فرمت PDF
3 صفحه
حجم 1 مگابایت
دانلود مقاله
title sign
معرفی نویسنده
حمید قلی پور
مقالات
3 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
حمید قلی پور
title sign
دیدگاه کاربران

    • اقا لینک مطلبو من پیدا نکردم.میشه راهنماییم کنید؟

    •    سلام اگه اولت بود خوبه

    •  با سلام

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

    •  با سلام و تشکر
      در مورد مثال گفته شده در مورد فیلتر کردن داده ها بهتر نیست همزمان با نمایش ID  و نام مقدار حقوق را هم نمایش دهیم؟

      • با سلام خدمت شما خواننده گرامی 

        باید بگم بله میتوان ؛ بستگی به گزارشی که می خواهید بدست بیاورید میتوانید فیلد های مورد نظرتون رو بنویسید.
        SELECT Name, Family, CustomerID, salary
        FROM Customer
        WHERE CustomerID = 11
         
    •  سلام
      با توجه به سئوال آقای شهریور
      فکر کنم در چنین موار باید ابتدا مقدار عددی به به یک مقدار کارکتری تبدیل شود تا امکان جستجو وجود داشته باشه..

    •  سلام
      در صورتی که بخواهیم در یک بانک اطلاعاتی که کد ملی یکی از فیلد هاست و ۵ رقم آخر شماره ملی را جستجو کنیم از چه روشی استفاده می کنیم.؟؟؟؟؟؟؟؟؟؟؟؟؟

      •  اگر Performance برایتان بسیار با اهمیت است ابتدا یک ستون Computed با نام فرضی cmpLastFiveDigit با فرمول زیر بنویسید:

        با فرض اینکه فیلد MeliCode از نوع int است:
        ۱۰۰۰۰۰ % MeliCode 
        و یک ایندکس روی این ستون بزنید و بعد کوئری را به این شکل بنویسید تا از ایندکس بتواند استفاده کند:
        select * from students 
        where cmpLastFiveDigit = 12345
        that’ it!
        •   با سلام و احترام

          خدمت جناب عزیزی ، مطالبی که بیان کردید برام جالب بود اما متوجه نشدم چرا (۱۰۰۰۰۰ % MeliCode ) کمی توضیح میدهید بنده ابتدای راه هستم و در کارهام Performance برام بسیار اهمیت داره. اگر امکان داره مثال بزنید تا واضح باشد.
          با تشکر
      •  به مثال های زیر توجه کنید

        –۱
        SELECT * FROM Students
        WHERE MeliCode LIKE ‘%12345’
        GO
        –۲
        SELECT * FROM Students
        WHERE RIGHT(MeliCode,5)=’12345′
        GO
    • با سلام و احترام

      بسیار عالی بود جناب آقای طاهری ، تدبیری که برای مقالات اتخاذ شده بسیار بجاست.
      آیا این امکان وجد داره که بتوانیم ویدیوهای آموزشی نیز در سایت قرار بدهیم؟
      با تشکر فراوان
      •  سلام.
        چرا که نه اتفاقا از ویدئوها بیشتر استقبال می گردد
        در این خصوص ایمیل برای شما ارسال خواهم کرد

        با تشکر

    •   با سلام و احترام 

      جناب مهندس طاهری ؛ اگر مقدوره روند رسیدگی و تایید مقالات رو کوتاه تر و سریع تر بفرمایید ممنون میشم ، قسمت دوم آموزش فرستادم اما یک هفته است منتظر تایید هست.
      با تشکر فراوان
      •  سلام دوست عزیز
        با توجه به اینکه می خواهیم مقالات جدید حداقل در یک هفته در صفحه اول باشد
        و همچنین مقالات ارسالی روز به روز زیاد می گردد به هیمن دلیل مقالات در صف قرار دارد و نمی خواهیم در یک روز مثلا ۳ مقاله منتر کنیم بعد روز بعد ۴ مقاله منتشر کنیم آن وقت مطمئن باشید کسی مقالات سایت را نخواهد خواند و سایت از بحث آموزشی به یک سایت خبری تبدیل خواهد شد.

        موفق باشید

    •  با سلام و احترام 

      تشکر می کنم بابت نظرات دوستان آموزش ها بله قطعا ادامه خواهد داشت بالاخره باید پایه یک کار مهم را خیلی خوب گذاشت و بنده هم در شروع راه هستم و  خواستم دانشم رو به اشتراک بزارم .
    • سلام
      خیلی خوب بود جناب قلی پور
      آموزشاتون ادامه دارن؟

  • 1
  • 2