تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 2 از 4 اولاول 1234 آخرآخر
نمايش نتايج 11 به 20 از 40

نام تاپيک: آموزش SQL Server 2000

  1. #11
    پروفشنال bad_boy_2007's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    ایران
    پست ها
    803

    پيش فرض ضرب دکارتی جداول با استفاده از دستور Where

    تلفيق دو جدول در Sql با ا ستفاده از دستور Select انجام مي پذيرد.تلفيق ها انواع مختلفي دارند كه هر يك را به اختصا ر بررسي مي كنيم:

    تلفيق ضربدري:

    در صورتي كه دو جدول را بدون به كارگيري بخش Where با هم تلفيق كنيم يك تلفيق ضربدري يا دكارتي خواهيم داشت.اين تلفيق تمام سطرهاي بخش From را با تمام سطرهاي همه جدول هاي ديگر تركيب مي كند.

    براي مثال دو جدول Table1 و Table2 را در نظر بگيريد:


    Table1-> Name Family


    Ahmaadi Hassan


    Alavi Naser



    Table2 -> Lesson Code


    Db 27370

    Os 28490
    حال اگر دستورات زير را براي تلفيق آنها به كا ر مي بريم:


    Select * From Table1,table2 ;


    بدين ترتيب خواهيم داشت:




    Name Stno Lesson Code


    Hassan Ahmadi Db 27370


    Hassan Ahmadi Os 28490


    Naser Alavi Db 27370


    Naser Alavi Os 28490


    به طوري كه مشاهده مي كنيم جدول حاصل داراي 4 ركورد است كه ار حاصلضرب جداول تلفيق شده به دست مي آيند .

  2. #12
    پروفشنال bad_boy_2007's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    ایران
    پست ها
    803

    پيش فرض آشنایی با دستور Order By :

    تا الان یاد گرفتین که چطور یه سری فیلد رو محدود کنین ، تعداد رکوردها رو محدود کنین و جداول رو با هم ادغام کنین در این بخش هم میخوایم طریقه مرتب سازی جداولی را که از این فیلترینگ ایجاد کردین را توضیح بدیم . جهت مرتب سازی جداول ایجاد شده از دستور ORDER BY در SELECT استفاده میشه . بحث رو با یک مثال ساده که نحوه عملکرد دستور را شرح میدهد شروع میکنیم .


    --------------------------------------------------------------------------------

    مثال1 : میخواهیم از جدول مشخصات دانشجویان ، لیست نام و نام خانوادگی دانشجویان را انتخاب کرده و فیلدها را بر اساس نام خانوادگی دانشجو مرتب کنیم .

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



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

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



    --------------------------------------------------------------------------------

    همانطور که مشاهده کردید برای مرتب سازی فیلدها در خروجی از ORDER BY استفاده شد و ترتیب مرتب سازی بترتیب جلوی این دستور نوشته شد . اگر دقت کرده باشید فیلدها بترتیب صعودی مرتب شدند (حالت پیش فرض T-SQL) حال اگر بخواهیم فیلدها بر اساس ترتیب نزولی مرتب شوند میتوان از دستور DESC (مخفف واژه Descending) استفاده کرد ، میتوان در مرتب سازی صعودی از دستور ASC (مخفف واژه Ascending) نیز استفاده نمائید ، لیکن همانطور که گفته شد ترتیب پیش فرض SQL صعودی (Ascending) میباشد و این دستور را بطور اتوماتیک حذف خواهد کرد .

    مثال2 : میخواهیم در جدول دروس ، لیست کلیه دروس را بصورت نزولی نمایش دهیم :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



  3. #13
    پروفشنال bad_boy_2007's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    ایران
    پست ها
    803

    پيش فرض

    در ادامه مطالبی در مورد نحوه استفاده select های متداخل میزارم

  4. #14
    پروفشنال bad_boy_2007's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    ایران
    پست ها
    803

    پيش فرض تلفیق دستورات Select (بخش اول)

    در این بحث میخوایم به ارتباط SELECT و دستور IN بپردازیم ، در مباحث بعدی توضیحاتی بیشتر در مورد اجتماع ، اشتراک ، حالضرب و . . . دستورات SELECT ارائه میدم . از این جهت که تقریبا 90% امور مربوط به گزراش گیری و اعمال پردازشی با دستور SELECT انجام میشه ، تبحر در این دستور و نحوه استفاده از اون اهمیت زیادی داره ، لذا سعی میکنم نکات کاربردی در مورد این دستور ارائه بدم .
    تا اینجا با بانک نمونه آشنا شدین ، خب اجازه بدین بحث رو با یک سوال شروع کنم :
    سوال : فرض کنین میخواین لیست تمام نمرات دانشجویانی رو بدست بیارین که در ترم اول 86 درس 2 واحدی داشتن .
    خب تو یه تحلیل ساده پیش خودتون میگین اول باید کد تمام دروس 2 واحدی رو پیداکنم ، بعد بگم تمام نمراتی رو بهم نشون بده که کدش یکی از این کدهاست . تو این پست میخوام طریقه انجام این کار رو با دستور SELECT و IN توضیح بدم .
    همونطور که در بحث مربوط به دستور IN دیدید ، با استفاده از این دستور میتونیم فیلدهایی رو که یکی از مشخصه های یک مجموعه مشخص رو داشته باشن رو انتخاب کنیم ، توصیه میشه پیش از ادامه بحث در صورتی که مطالب رو از ابتدا پیگیری نکردین اینجا رو بخونین .
    جهت استفاده از دستور SELECT برای تعیین موارد انتخابی ای که دستور IN میتواند یکی از آن موارد باشد ، باید چند شرط را رعایت کنیم :
    در دستور SELECT فقط و فقط یک فیلد را که کد شناسه ارتباطی بین جدول اصلی و ثانوی است را به عنوان خروجی ارسال کنیم (در اینجا فیلد مربوط به کد درس)
    شرطی که باید فیلد داشته باشد را در بخش WHERE دستور SELECT داخلی قید میکنیم . (در اینجا شرط 2واحدی بودن)
    خب بیاین و کد مربوط به سوالی رو که ابتدای بحث مطرح کردیم رو ایجاد کنیم ، با توجه به موارد قید شده دستور SELECT داخلی باید یک مجموعه از کدهای دروسی را در اختیار ما قرار دهد که درس مربوطه 2 واحدی باشد پس داریم :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



    خب ، همینطوری که میبینین این دستور لیست یک سری درس رو بهمون نشون داد که میخوایم بدونیم کدوم دانشجوها این درس (یا دروس) رو در نیمسال اول 86 انتخاب کردن :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



  5. #15
    پروفشنال bad_boy_2007's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    ایران
    پست ها
    803

    پيش فرض تلفیق دستورات Select (بخش اول)

    در این بحث میخوایم به ارتباط SELECT و دستور IN بپردازیم ، در مباحث بعدی توضیحاتی بیشتر در مورد اجتماع ، اشتراک ، حالضرب و . . . دستورات SELECT ارائه میدم . از این جهت که تقریبا 90% امور مربوط به گزراش گیری و اعمال پردازشی با دستور SELECT انجام میشه ، تبحر در این دستور و نحوه استفاده از اون اهمیت زیادی داره ، لذا سعی میکنم نکات کاربردی در مورد این دستور ارائه بدم .
    تا اینجا با بانک نمونه آشنا شدین ، خب اجازه بدین بحث رو با یک سوال شروع کنم :
    سوال : فرض کنین میخواین لیست تمام نمرات دانشجویانی رو بدست بیارین که در ترم اول 86 درس 2 واحدی داشتن .
    خب تو یه تحلیل ساده پیش خودتون میگین اول باید کد تمام دروس 2 واحدی رو پیداکنم ، بعد بگم تمام نمراتی رو بهم نشون بده که کدش یکی از این کدهاست . تو این پست میخوام طریقه انجام این کار رو با دستور SELECT و IN توضیح بدم .
    همونطور که در بحث مربوط به دستور IN دیدید ، با استفاده از این دستور میتونیم فیلدهایی رو که یکی از مشخصه های یک مجموعه مشخص رو داشته باشن رو انتخاب کنیم ، توصیه میشه پیش از ادامه بحث در صورتی که مطالب رو از ابتدا پیگیری نکردین [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] رو بخونین .
    جهت استفاده از دستور SELECT برای تعیین موارد انتخابی ای که دستور IN میتواند یکی از آن موارد باشد ، باید چند شرط را رعایت کنیم :
    در دستور SELECT فقط و فقط یک فیلد را که کد شناسه ارتباطی بین جدول اصلی و ثانوی است را به عنوان خروجی ارسال کنیم (در اینجا فیلد مربوط به کد درس)
    شرطی که باید فیلد داشته باشد را در بخش WHERE دستور SELECT داخلی قید میکنیم . (در اینجا شرط 2واحدی بودن)
    خب بیاین و کد مربوط به سوالی رو که ابتدای بحث مطرح کردیم رو ایجاد کنیم ، با توجه به موارد قید شده دستور SELECT داخلی باید یک مجموعه از کدهای دروسی را در اختیار ما قرار دهد که درس مربوطه 2 واحدی باشد پس داریم :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



    خب ، همینطوری که میبینین این دستور لیست یک سری درس رو بهمون نشون داد که میخوایم بدونیم کدوم دانشجوها این درس (یا دروس) رو در نیمسال اول 86 انتخاب کردن :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



  6. #16
    پروفشنال bad_boy_2007's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    ایران
    پست ها
    803

    پيش فرض

    در این بخش قصد داریم Query های مختلف را با استفاده از دستورات Union , Union All , Intersect,Minus با هم تلفیق کنیم . پیش از ادامه بحث در صورتی که مطالب قبلی را مطالعه نکرده اید [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] را بخوانید .

    Union :

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

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Union All :

    این دستور نیز مشابه Union عمل میکند با این تفاوت که دستور Union رکوردهای تکراری را در اجتماع لحاظ نمیکند در صورتی که Union All تمامی رکوردهای تکراری و غیر تکراری را نمایش میدهد . طریقه استفاده از این دستور نیز مشابه Union است و در ذیل مشخص شده :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Intersect :

    این دستور مانند عملگر منطقی AND عمل میکند ، به این شکل که تنها رکوردهایی را انتخاب مبکند که هم در Query1 باشد و هم در Query2 . در ذیل نحوه استفاده از این دستور ذکر شده :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Minus :

    همانطور که از نام این دستور بر می آید عمل تفریق را انجام میدهد . با استفاده از این دستور میتوان رکوردهایی را انتخاب کرد در Query1 موجود اند ولی در Query2 موجود نیستند . نحوه استفاده از این دستور بصورت زیر است :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    بحث در مورد تلفیق پرسشها (Query ها) را در همین جا با چند مثال پایان میدهیم .

    مثال 1) فرض کنید میخواهیم لیست کلیه دانشجویانی را بدست آوریم که درس کد 2 یا 3 را ورداشته اند .

    برای این منظور میتوان از دو Query استفاده کرد ، Query اول لیست تمام دانشجویان را مشخص میکند که درس کد 1 را ورداشته اند و Query دوم لیست تمام دانشجویانی را مشخص میکند که درس کد 2 را ورداشته اند ، با اجتماع این دو Query جواب بدست خواهد آمد . در اینجا بجای Union All از Union استفاده میکنیم چون ممکن است یک دانشجو بیش از یک بار درس کد 1 یا 2 را ودارد که در این صورت در صورت استفاده از Union All ، دو بار کد دانشجو نمایش داده خواهد شد.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


    مثال 2) با استفاده از دستورات الحاق Query میخواهیم لیست کلیه دانشجویانی را بدست آوریم که درس 1 و درس 2 را داشته اند .
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    همانطور که از خروجی های این دو مثال مشخص است تمامی دانشجویانی که درس 1 را انتخاب کرده اند ، درس 2 را نیز انتخاب کرده اند.

  7. #17
    پروفشنال bad_boy_2007's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    ایران
    پست ها
    803

    پيش فرض

    در مطالب بعدی در مورد توابع Sum , min , max , . . . مطالبی قرار میدم .

  8. #18

  9. #19
    آخر فروم باز MAXXX's Avatar
    تاريخ عضويت
    May 2006
    پست ها
    1,990

    پيش فرض

    سلام
    ممنون بابت آموزش هات
    راستش این ترم پایگاه داده ها گرفتم و پروژه میخواد که vb رو با sql تو یه برنامه ارتباط بدیم حالا ما هم که تا حالا فقط تئوری sql رو یاد گرفتیم vb هم که تا حالا کار نکردم برا همین خفن افتادن دنبال یاد گرفتنش و از مطالب شماشروع کردم
    بازم ممنون

  10. #20
    آخر فروم باز hamidreza_buddy's Avatar
    تاريخ عضويت
    Sep 2004
    محل سكونت
    شریف
    پست ها
    1,167

    پيش فرض

    جناب bad_boy_2007 با تشکر بسیار زیاد بابت این آموزش ها

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •