1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

# آموزش زبان SQL

شروع موضوع توسط hector2141 ‏12/9/12 در انجمن برنامه نویسی

  1. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    [h=2]مقدمه SQL[/h] معرفی زبان SQL :
    - SQL مخفف عبارت Structured Query Language ( زبان جستجويي ساخت يافته ) است و به کاربر امکان اتصال و دسترسی یه اطلاعات موجود در يک پايگاه داده را می دهد .
    - زبان SQL قادر است تا برای يک پايگاه داده عمل جستجو و گزينش اطلاعات را انجام دهد و همچنين اطلاعات ذخيره شده در يک پايگاه داده را بازيابی ، حذف ، ذخيره ، اضافه و يا به روز کند .
    - زبان SQL يک استاندارد بين المللی است .
    [HR][/HR] نکات مهم :


    • زبان SQL يک زبان برنامه نويسی و يا ايجاد بانک های اطلاعاتی به طور کامل نيست . بلکه برای دسترسی و ويرايش بانک های اطلاعاتی مورد استفاده قرار می گيرد . شما بايد قبلا پايگاه داده خود را ايجاد کرده باشيد و از SQL برای تغيير ساختار آن استفاده کنيد .
    • قبل از استفاد از دستورات SQL ، بايد با ساختار و معماری پايگاه داده ها آشنايي کافی را داشته و بتوانيد در يک محيط مستقل مثل Access يا SQL Server يگ پايگاه داده را طراحی کرده و سپس با دستورات SQL ، به کنترل ، تغيير و استخراج اطلاعات از پايگاه داده مذکور نماييد .
    • ما در قسمت آموزش SQL فقط به معرفی دستورات SQL پرداخته و با معماری و طراحی پايگاه داده ها کاری نداشته و فقط برخی از اصطلاحات و اجزاي مورد استفاده در سيستم های پايگاه داده ای را معرفی و به اختصار شرح می دهيم .
    [HR][/HR] راهنمايي ها :

    1. در صحفحات آموزش SQL از جدول های فرضی برای تامين اطلاعات جهت مثال های آموزشی استفاده کرده ايم که حکم يک پايگاه داده را داشته که ما به ويرايش و استخراج اطلاعات آن دست می زنيم . اسامی مورد استفاده در اين جدول ها کاملا فرضی هستند .
    2. در صفحات آموزش SQL پس از معرفی و آموزش هر دستور خاص سعی شده است تا با ارائه مثال نکات مختلف را در عمل نمايش دهيم . برای اين منظور از جدول هايي به نام Example استفاده کرده ايم . اين جداول دارای 2 بخش هسنتد . در بخش اول به نام کد ، کد واقعی مورد نياز برای اجرای دستور هدف در محيط SQL قرار داده شده و در بخش دوم به نام خروجی ، خروجی واقعی حاصل از آن دستور ارائه شده است .
    3. تمام مثال های قسمت آموزش SQL توسط نرم افزارهای Microsoft Access و SQL Server 2005 تست شده اند .
     
  2. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : # آموزش زبان SQL

    [h=2]مقدمه SQL[/h] ساختار و اجزای مهم مورد استفاده در زبان SQL :
    1 ) Table :
    جداول مهمترين عناصر سيستم های پايگاه داده هستند ، که برای ذخيره و نگهداری سازمان يافته اطلاعات مورد استفاده قرار می گيرند . Table ها دارای سطر و ستون هستند و توسط يک نام منحصر به فرد در سطح برنامه شناسايي می شوند .
    به سطرهاي يک جدول رکورد ( Record ) و به هر يک از خانه های ستون يک جدول فيلد ( Field ) می گويند .
    هر رکورد محجموعه ای از اطلاعات طبقه بندی شده درباره يک موجوديت خاص است و هر فيلد يکی از خصوصيات آن موجوديت را به همراه مقدار آن مشخص می کند .
    موجوديت پديده ، شی يا فردی در محيط پايگاه داده است که می خواهيم اطلاعات مربوط به آن را نگهداری کنيم .
    مثال : به طور مثال در محيط پايگاه داده دانشگاه ، انواع موجوديت ها عبارتند از : دانشجو ، درس ، استاد ، دانشکده و ... .
    هر فيلد در بر گيرنده يک صفت و ويژگی برای موجوديت می باشد ، که دارای 2 جزء اصلی است :

    1. اسم صفت خاصه : نام صفت مورد نظر را تعيين می کند . برای مثال فيلد نام ، نام خانوادگی ، شماره دانشجويي و ... در جدول اطلاعات مربوط به دانشجو .
    2. مقدار صفت خاصه : در برگيرنده مقدار برای صفت مورد نظر است . برای مثال مقدار " احمد " به عنوان مقدار برای فيلد نام .
    [HR][/HR] 2 ) Query :
    از Query برای ايجاد يک پرسش و جستجو در جدول و استخراج اطلاعات مورد نظر استفاده می شود . نتايج حاصل از يک Query در يک جدول موقت که دارای فيلد ها و سطر های واجد شرايط جستجو است ، نمايش داده می شود .
    مثال : به عنوان مثال می خواهيم ، مشخصات دانشجويانی که در ترم دوم سال تحصيلی 85 - 86 موفق به گذارندن درس پايگاه داده شده اند را از جدول دانشجويان استخراج کنيم . برای اين منظور از يک Query استفاده می کنيم . عمده دستورات SQL برای ايجاد و مديريت Query استفاده می شوند . در مباحث بعدی کار با يک Query را بررسی می کنيم .

    [HR][/HR] 3 ) SQL Data Manipulation Language ( DML )a زبان دستکاری اطلاعات SQL :
    اين بخش از دستورات SQL ، شامل دستوراتی برای به روز کردن ، ورود اطلاعات و يا حذف رکوردها در محيط پايگاه داده است . عمده دستئرات اين بخش عبارتند از :

    • Select : برای استخراج اطلاعات از يک جدول بانک اطلاعاتی مورد استفاده قرار می گيرد .
    • Update : برای به روز کردن اطلاعات يک جدول بانک اطلاعاتی مورد استفاده قرار می گيرد .
    • Delete : برای حذف اطلاعات از يک جدول بانک اطلاعاتی مورد استفاده قرار می گيرد .
    • Insert : برای ورود اطلاعات به يک جدول بانک اطلاعاتی مورد استفاده قرار می گيرد .
    [HR][/HR] 4 ) SQL Data Definition Language ( DDL )a زبان تعريف اطلاعات SQL :
    اين قسمت شامل دستورات زبان SQL برای ايجاد يا حذف جداول از بانک اطلاعاتی مورد استفاده قرار می گيرد . از اين قسمت همچنين می توان برای تعريف انديس ها ، کليد واژه ها ، ايجاد ارتباط و پيوند بين جدول ها و يا ايجاد محدوديت های دسترسی استفاده می شود .
    عمده دستورات اين بخش عبارتند از :


    • Create Table : برای ايجاد يک جدول جديد به کار می رود .
    • Alter Table : برای تغيير اطلاعات موجود در يک جدول به کار می رود .
    • Drop Table : برای حذف يک يا چند جدول از بانک اطلاعاتی به کار می رود .
    • [SUP]*[/SUP] Create Index : برای ايجاد انديس يا کليد واژه در يک جدول به کار می رود .
    • [SUP]*[/SUP] Drop Index : برای حذف انديس يا کليد واژه در يک جدول به کار می رود .
    [SUP]*[/SUP] تعريف انديس Index : انديس عبارتست از يک شماره که به هر يک از فيلدها در سطرهای يک جدول اختصاص داده می شود . انديس ها در پشت پرده جداول ايجاد شده و از ديد کاربر کاملا مخفی هستند . استفاده از انديس ها باعث می شود تا برنامه بتواند مقادير سطرهای مختلف را بر حسب مقدار يک فيلد و بر حسب شماره انديس آنها از کم به زياد يا بر عکس مرتب کند و در عمليات جستجو باعث بالا رفتن سرعت جستجو می شود .
     
  3. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : # آموزش زبان SQL

    [h=2]دستورات مقدماتی SQL[/h] دستور Select :
    دستور Select برای انتخاب و استخراج اطلاعات مورد نظر از يک يا چند جدول و سپس مشاهده نتايج در يک جدول موقت استفاده می شود . شکل کلی اين دستور به شکل زير است :
    Select نام ستون يا ستون های مورد نظر
    From نام جدول
    مثال : به طور مثال فقط می خواهيم ستون های Name و Family را از جدول Student ، مشاهده کنيم :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 6"] Student Table[/TD]
    [/TR]
    [TR]
    [TD="class: header"] Student ID[/TD]
    [TD="class: header"] Name[/TD]
    [TD="class: header"] Family[/TD]
    [TD="class: header"] Major[/TD]
    [TD="class: header"] City[/TD]
    [TD="class: header"] Grade[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 41252214[/TD]
    [TD="class: body"] Ahmad[/TD]
    [TD="class: body"] Rezaee[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 18[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10724113[/TD]
    [TD="class: body"] Ehsan[/TD]
    [TD="class: body"] Amiri[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Karaj[/TD]
    [TD="class: body"] 14[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10254861[/TD]
    [TD="class: body"] Zahra[/TD]
    [TD="class: body"] Hosini[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 17[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 27365187[/TD]
    [TD="class: body"] Sahar[/TD]
    [TD="class: body"] Ahmadi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Bam[/TD]
    [TD="class: body"] 16[/TD]
    [/TR]
    [/TABLE]

    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] مثال[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Select Name , Family
    From Student[/TD]
    [TD="class: header"] کد[/TD]
    [/TR]
    [TR]
    [TD="class: body"] [TABLE="class: ex, width: 250"]
    [TR]
    [TD="class: header"] Name[/TD]
    [TD="class: header"] Family[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Ahamd[/TD]
    [TD="class: body"] Rezaee[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Ehsan[/TD]
    [TD="class: body"] Amiri[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Zahra[/TD]
    [TD="class: body"] Hoseini[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Sahar[/TD]
    [TD="class: body"] Ahmadi[/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [TD="class: header"] خروجی[/TD]
    [/TR]
    [/TABLE]
    نکته : برای انتخاب کليه ستون های جدول می توان از نشانگر * در قسمت نام ستون استفاده کرد . در اين صورت تمامی ستون های جدول در خروجی نمايش داده خواهند شد :
    Select *
    From Students
    واژه کليدی DISTINCT : چنانچه در ستون های مورد جستجو ، موارد تکراری وجود داشته باشد در نتيجه خروجی نمايش داده خواهند شد . برای جلوگيری از چنين موردی و عدم نمايش موارد تکراری پس از دستور Select عبارت DISTINCT نوشته می شود :
    [TABLE="class: ex, width: 250"]
    [TR]
    [TD="class: header, colspan: 2"] Orders Table[/TD]
    [/TR]
    [TR]
    [TD="class: header"] Company[/TD]
    [TD="class: header"] Order Number[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Dell[/TD]
    [TD="class: body"] 1012[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Sega[/TD]
    [TD="class: body"] 1014[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Dell[/TD]
    [TD="class: body"] 1016[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Sony[/TD]
    [TD="class: body"] 1018[/TD]
    [/TR]
    [/TABLE]
    ​
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] مثال[/TD]
    [/TR]
    [TR]
    [TD="class: header"] کد[/TD]
    [TD="class: header"] خروجی[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Select DISTINCT Company
    From Orders[/TD]
    [TD="class: body"] [TABLE="class: ex, width: 100"]
    [TR]
    [TD="class: header"] Company[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Dell[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Sega[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Sony[/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [/TR]
    [TR]
    [TD="class: body"] Select Company
    From Orders [/TD]
    [TD="class: body"] [TABLE="class: ex, width: 100"]
    [TR]
    [TD="class: header"] Company[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Dell[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Sega[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Dell[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Sony
    [/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [/TR]
    [/TABLE]
    [HR][/HR]
     
  4. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : # آموزش زبان SQL

    [h=2]دستورات مقدماتی SQL[/h] دستور Where :
    دستور Where برای افزودن شرط يا شرط هايی جهت محدود کردن نتايج جستجو و استخراج نتايج دقيقتر استفاده می شود . اين ذستور بايد پس از دستور Select و تعيين ستون ها از جدول مورد نظر به کار رود . با استفاده از عملگرهای AND ، OR و پرانتز می توان چندين شرط را با هم ترکيب کرد . برنامه فقط سطرهايي از جدول را که با شرط های ارائه شده سازگاری دارند را نمايش خواهد داد . اين دستور با عملگرهای زير می تواند به کار رود :
    [TABLE="class: pr"]
    [TR]
    [TD="class: header"] عملگر[/TD]
    [TD="class: header"] مفهوم [/TD]
    [TD="class: header"] عملگر[/TD]
    [TD="class: header"] مفهوم [/TD]
    [/TR]
    [TR]
    [TD="class: prbody"] =[/TD]
    [TD="class: prbody"] برابر با - مساوی[/TD]
    [TD="class: prbody"] !=[/TD]
    [TD="class: prbody"] نا برابر با - نامساوی[/TD]
    [/TR]
    [TR]
    [TD="class: prbody"] >[/TD]
    [TD="class: prbody"] کوچکتر يا کمتر[/TD]
    [TD="class: prbody"] >=[/TD]
    [TD="class: prbody"] کوچکتر مساوی[/TD]
    [/TR]
    [TR]
    [TD="class: prbody"] <[/TD]
    [TD="class: prbody"] بزرگتر يا بيشتر[/TD]
    [TD="class: prbody"] <=[/TD]
    [TD="class: prbody"] بزرگتر مساوی[/TD]
    [/TR]
    [TR]
    [TD="class: prbody"] Between[/TD]
    [TD="class: prbody"] مابين دو مقدار[/TD]
    [TD="class: prbody"] Like[/TD]
    [TD="class: prbody"] تعيين يک قالب برای جستجو[/TD]
    [/TR]
    [/TABLE]
    مثال : انتخاب نام و نام خانوادگی دانشجويانی که شهر محل سکونت آنها تهران است از جدول Student به صورت زير انجام می شود :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 6"] Student Table[/TD]
    [/TR]
    [TR]
    [TD="class: header"] Student ID[/TD]
    [TD="class: header"] Name[/TD]
    [TD="class: header"] Family[/TD]
    [TD="class: header"] Major[/TD]
    [TD="class: header"] City[/TD]
    [TD="class: header"] Grade[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 41252214[/TD]
    [TD="class: body"] Ahmad[/TD]
    [TD="class: body"] Rezaee[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 18[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10724113[/TD]
    [TD="class: body"] Ehsan[/TD]
    [TD="class: body"] Amiri[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Karaj[/TD]
    [TD="class: body"] 14[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10254861[/TD]
    [TD="class: body"] Zahra[/TD]
    [TD="class: body"] Hosini[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 17[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 27365187[/TD]
    [TD="class: body"] Sahar[/TD]
    [TD="class: body"] Ahmadi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Bam[/TD]
    [TD="class: body"] 16[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 35654415[/TD]
    [TD="class: body"] Hesam[/TD]
    [TD="class: body"] Razavi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 19[/TD]
    [/TR]
    [/TABLE]

    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] مثال [/TD]
    [/TR]
    [TR]
    [TD="class: header"] کد[/TD]
    [TD="class: header"] خروجی[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Select Name , Family
    From Students
    Where City = " Tehran " [/TD]
    [TD="class: body"] [TABLE="class: ex, width: 200"]
    [TR]
    [TD="class: header"] Name[/TD]
    [TD="class: header"] Family[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Ahmad[/TD]
    [TD="class: body"] Rezaee[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Zahra[/TD]
    [TD="class: body"] Hoseini[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Hesam[/TD]
    [TD="class: body"] Razavi[/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [/TR]
    [/TABLE]

    [HR][/HR] * اعمال بيش از يک شرط و ادغام شرط ها با عملگر AND .
    مثال : مشخصات نام و نام خانوادگی دانشجويانی که شهر آنها تهران بوده و نمره آنها بيش از پانزده است :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] مثال [/TD]
    [/TR]
    [TR]
    [TD="class: header"] کد[/TD]
    [TD="class: header"] خروجی[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Select Name , Family
    From Students
    Where City = " Tehran"
    AND Grade > 15 [/TD]
    [TD="class: body"] [TABLE="class: ex, width: 200"]
    [TR]
    [TD="class: header"] Name[/TD]
    [TD="class: header"] Family[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Ahmad[/TD]
    [TD="class: body"] Rezaee[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Hesam[/TD]
    [TD="class: body"] Razavi[/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [/TR]
    [/TABLE]
    نکته : در هنگام اعمال شرط جستجو ، بايد مقادير رشته ای ( متن ) بين دو علامت " " قرار گرفته ، ولی درباره موارد عددی اين کار لازم نيست .
    [HR][/HR] [h=2]* عبارت like :[/h] اين عبارت برای تعيين يک قالب خاص برای جستجو به کار می رود :
    مثال : نام دانشجويانی که شهر محل سکونت آنها با حرف K شروع می شود :
    Select Name From Students
    Where City like "K%"
    مثال : نام دانشجويانی که نام شهر محل سکونت آنها به an ختم می شود :
    Select Name From Student
    Where City Like "%an"
    مثال : نام دانشجويانی که شهر محل سکونت آنها دارای حروف st است :
    Select Name From Student
    Where City Like "%st%"

    مثال : نام دانشجويانی که شهر محل سکونت آنها 6 حرفی بوده و با حرف T شروع می شود :
    Select Name From Student
    Where City Like "T-----"
    نتيجه گيری : علامت % به معنای هر چند کاراکتر يا حرف دلخواه در قالب ارائه شده و علامت - نمايانگر يک کاراکتر دلخواه است .
     
  5. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : # آموزش زبان SQL

    [h=2]دستورات مقدماتی SQL[/h] دستور Insert :
    این دستور برای وارد کردن و ايجاد يک رکورد جديد در جدول استفاده می شود .
    شکل کلی این دستور به شرح زير است :
    Insert into نام جدول
    Values ( مقدار 1 ، مقدار 2 ، ... )
    *می توان تعيين کرد که مقادير مورد نظر به ترتيب به کدام ستون های جدول وارد شوند . برای اين منظور ابتدا نام ستون های مورد نظر را به ترتيب جلوی نام جدول در يک پرانتز وارد کرده و با کاما از هم جدا می کنيم . سپس مقادير متناظر را به همان ترتيب پس از واژه Vaues در پرانتز وارد می کنيم .
    نکته : چنانچه برای فيلد يا فيلدهايی مقداری در نظر گرفته نشود ، جای آنها در جدول خالی می ماند . فقط بايد به ترتيب نام ستون ها و مقادير دقت کرد .
    مثال : مشخصات نام و نام خانوادکی را برای يک دانشجو به نام اميد صفوی را در جدول Student وارد کنيد :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 6"] Student Table[/TD]
    [/TR]
    [TR]
    [TD="class: header"] Student ID[/TD]
    [TD="class: header"] Name[/TD]
    [TD="class: header"] Family[/TD]
    [TD="class: header"] Major[/TD]
    [TD="class: header"] City[/TD]
    [TD="class: header"] Grade[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 41252214[/TD]
    [TD="class: body"] Ahmad[/TD]
    [TD="class: body"] Rezaee[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 18[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10724113[/TD]
    [TD="class: body"] Ehsan[/TD]
    [TD="class: body"] Amiri[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Karaj[/TD]
    [TD="class: body"] 14[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10254861[/TD]
    [TD="class: body"] Zahra[/TD]
    [TD="class: body"] Hosini[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 17[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 27365187[/TD]
    [TD="class: body"] Sahar[/TD]
    [TD="class: body"] Ahmadi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Bam[/TD]
    [TD="class: body"] 16[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 35654415[/TD]
    [TD="class: body"] Hesam[/TD]
    [TD="class: body"] Razavi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 19[/TD]
    [/TR]
    [/TABLE]
    - شرح دستور وارد کردن نام و وضعيت جديد جدول :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] مثال[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Insert into Student ( Name , Family )
    Values ( "Omid" , "Safavi" )
    [/TD]
    [TD="class: header"] کد[/TD]
    [/TR]
    [TR]
    [TD="class: body"] [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 6"] Student Table[/TD]
    [/TR]
    [TR]
    [TD="class: header"] Student ID[/TD]
    [TD="class: header"] Name[/TD]
    [TD="class: header"] Family[/TD]
    [TD="class: header"] Major[/TD]
    [TD="class: header"] City[/TD]
    [TD="class: header"] Grade[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 41252214[/TD]
    [TD="class: body"] Ahmad[/TD]
    [TD="class: body"] Rezaee[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 18[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10724113[/TD]
    [TD="class: body"] Ehsan[/TD]
    [TD="class: body"] Amiri[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Karaj[/TD]
    [TD="class: body"] 14[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10254861[/TD]
    [TD="class: body"] Zahra[/TD]
    [TD="class: body"] Hosini[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 17[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 27365187[/TD]
    [TD="class: body"] Sahar[/TD]
    [TD="class: body"] Ahmadi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Bam[/TD]
    [TD="class: body"] 16[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 35654415[/TD]
    [TD="class: body"] Hesam[/TD]
    [TD="class: body"] Razavi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 19[/TD]
    [/TR]
    [TR]
    [TD="class: body"] [/TD]
    [TD="class: body"] Omid[/TD]
    [TD="class: body"] Safavi [/TD]
    [TD="class: body"] [/TD]
    [TD="class: body"] [/TD]
    [TD="class: body"] [/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [TD="class: header"] خروجی[/TD]
    [/TR]
    [/TABLE]
     
  6. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : # آموزش زبان SQL

    [h=2]دستورات مقدماتی SQL[/h] دستور Update :
    اين دستور برای تغيير اطلاعات موجود در يک فيلد و جايگزينی آن با يک مقدار جديد به کار می رود .
    شکل کلی اين دستور به صورت زير است :
    Update نام جدول
    Set نام فيلد = مقدار جديد
    Where نام فيلد = مقدار قبلی
    مثال : نام دانشجو احمد رضايي را به علی رضايي تغيير دهيد :
    Update Student
    Set Name =" Ali "
    Where Name = " Ahmad "
    - همچنين می توان برای تعيين رکوردی که می خواهيم تغيير دهيم ، از مقدار يک فيلد ديگر به غير از فيلدی که می خواهد تغيير کنيد استفاده کنيم . در اين حالت از فيلد مذکور ، برای آدرس دهی رکورد مورد نظر استفاده می شود .
    مثال : نام دانشجو با شماره دانشجويی 41252214 را به علی تغيير دهيد :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 6"] Student Table[/TD]
    [/TR]
    [TR]
    [TD="class: header"] Student ID[/TD]
    [TD="class: header"] Name[/TD]
    [TD="class: header"] Family[/TD]
    [TD="class: header"] Major[/TD]
    [TD="class: header"] City[/TD]
    [TD="class: header"] Grade[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 41252214[/TD]
    [TD="class: body"] Ahmad[/TD]
    [TD="class: body"] Rezaee[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 18[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10724113[/TD]
    [TD="class: body"] Ehsan[/TD]
    [TD="class: body"] Amiri[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Karaj[/TD]
    [TD="class: body"] 14[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10254861[/TD]
    [TD="class: body"] Zahra[/TD]
    [TD="class: body"] Hosini[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 17[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 27365187[/TD]
    [TD="class: body"] Sahar[/TD]
    [TD="class: body"] Ahmadi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Bam[/TD]
    [TD="class: body"] 16[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 35654415[/TD]
    [TD="class: body"] Hesam[/TD]
    [TD="class: body"] Razavi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 19[/TD]
    [/TR]
    [/TABLE]
    - اعمال دستور تغيير و وضعيت جديد جدول :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] مثال[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Update Student Set Name = " Ali "
    Where StudentID = " 41252214 "[/TD]
    [TD="class: header"] کد[/TD]
    [/TR]
    [TR]
    [TD="class: body"] [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 6"] Student Table[/TD]
    [/TR]
    [TR]
    [TD="class: header"] Student ID[/TD]
    [TD="class: header"] Name[/TD]
    [TD="class: header"] Family[/TD]
    [TD="class: header"] Major[/TD]
    [TD="class: header"] City[/TD]
    [TD="class: header"] Grade[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 41252214[/TD]
    [TD="class: body"] Ali [/TD]
    [TD="class: body"] Rezaee[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 18[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10724113[/TD]
    [TD="class: body"] Ehsan[/TD]
    [TD="class: body"] Amiri[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Karaj[/TD]
    [TD="class: body"] 14[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10254861[/TD]
    [TD="class: body"] Zahra[/TD]
    [TD="class: body"] Hosini[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 17[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 27365187[/TD]
    [TD="class: body"] Sahar[/TD]
    [TD="class: body"] Ahmadi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Bam[/TD]
    [TD="class: body"] 16[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 35654415[/TD]
    [TD="class: body"] Hesam[/TD]
    [TD="class: body"] Razavi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 19[/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [TD="class: header"] خروجی[/TD]
    [/TR]
    [/TABLE]

    [HR][/HR] تغيير اطلاعات در بيش از يک فيلد در رکورد :
    در اين حالت تمامی مقادير جديدی که می خواهيم تغيير دهيم ، جلوی واژه کليدی Set به ترتيب نوشته و با کاما از هم جدا می کنيم . سپس به همان ترتيب ، فيلدها با مقادير قبلی را در جلوی واژه Where می نوسيم . شکل کلی آن به صورت زير ااست :
    Update نام جدول
    Set فيلد 1 = مقدار جديد 1 ، فيلد 2 = مقدار جديد 2 ، ... .
    Where فيلد 1 = مقدار قبلی 1 ، فيلد 2 = مقدار قبلی 2 ، ... .

    - همچنين می توان فقط از يک فيلد در قسمت شرط برای آدرس دهی رکورد مورد نظر استفاده کرد .
    مثال : نام ، نام خانوادگی و رشته تحصيلی دانشجو به شماره دانشجويي 41252214 را به ترتيب به علی ، سعيدی و نرم افزار تغيير دهيد :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 6"] Student Table[/TD]
    [/TR]
    [TR]
    [TD="class: header"] Student ID[/TD]
    [TD="class: header"] Name[/TD]
    [TD="class: header"] Family[/TD]
    [TD="class: header"] Major[/TD]
    [TD="class: header"] City[/TD]
    [TD="class: header"] Grade[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 41252214[/TD]
    [TD="class: body"] Ahmad[/TD]
    [TD="class: body"] Rezaee[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 18[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10724113[/TD]
    [TD="class: body"] Ehsan[/TD]
    [TD="class: body"] Amiri[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Karaj[/TD]
    [TD="class: body"] 14[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10254861[/TD]
    [TD="class: body"] Zahra[/TD]
    [TD="class: body"] Hosini[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 17[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 27365187[/TD]
    [TD="class: body"] Sahar[/TD]
    [TD="class: body"] Ahmadi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Bam[/TD]
    [TD="class: body"] 16[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 35654415[/TD]
    [TD="class: body"] Hesam[/TD]
    [TD="class: body"] Razavi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 19[/TD]
    [/TR]
    [/TABLE]
    - اعمال دستور تغيير و وضعيت جديد جدول :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] مثال [/TD]
    [/TR]
    [TR]
    [TD="class: body"] Update Student
    Set Name = " Ali " , Family = " Saeedi " , Major =" Soft Ware "
    Where StudentID = 41252214 [/TD]
    [TD="class: header"] کد[/TD]
    [/TR]
    [TR]
    [TD] [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 6"] Student Table[/TD]
    [/TR]
    [TR]
    [TD="class: header"] Student ID[/TD]
    [TD="class: header"] Name[/TD]
    [TD="class: header"] Family[/TD]
    [TD="class: header"] Major[/TD]
    [TD="class: header"] City[/TD]
    [TD="class: header"] Grade[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 41252214[/TD]
    [TD="class: body"] Ali[/TD]
    [TD="class: body"] Saeedi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 18[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10724113[/TD]
    [TD="class: body"] Ehsan[/TD]
    [TD="class: body"] Amiri[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Karaj[/TD]
    [TD="class: body"] 14[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10254861[/TD]
    [TD="class: body"] Zahra[/TD]
    [TD="class: body"] Hosini[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 17[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 27365187[/TD]
    [TD="class: body"] Sahar[/TD]
    [TD="class: body"] Ahmadi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Bam[/TD]
    [TD="class: body"] 16[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 35654415[/TD]
    [TD="class: body"] Hesam[/TD]
    [TD="class: body"] Razavi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 19[/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [TD="class: header"] خروجی[/TD]
    [/TR]
    [/TABLE]
     
  7. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : # آموزش زبان SQL

    [h=2]دستورات اوليه SQL[/h] دستور Delete :
    از اين دستور برای حذف اطلاعات يک رکورد در جدول استفاده می شود .
    شکل کلی اين دستور به شکل زير است :
    Delete From نام جدول
    Where نام و مقدار يک فيلد از رکورد مورد نظر
    مثال : رکورد اطلاعات دانشجو به شماره دانشجويي 10724113 را حذف کنيد :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 6"] Student Table[/TD]
    [/TR]
    [TR]
    [TD="class: header"] Student ID[/TD]
    [TD="class: header"] Name[/TD]
    [TD="class: header"] Family[/TD]
    [TD="class: header"] Major[/TD]
    [TD="class: header"] City[/TD]
    [TD="class: header"] Grade[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 41252214[/TD]
    [TD="class: body"] Ahmad[/TD]
    [TD="class: body"] Rezaee[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 18[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10724113[/TD]
    [TD="class: body"] Ehsan[/TD]
    [TD="class: body"] Amiri[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Karaj[/TD]
    [TD="class: body"] 14[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10254861[/TD]
    [TD="class: body"] Zahra[/TD]
    [TD="class: body"] Hosini[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 17[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 27365187[/TD]
    [TD="class: body"] Sahar[/TD]
    [TD="class: body"] Ahmadi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Bam[/TD]
    [TD="class: body"] 16[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 35654415[/TD]
    [TD="class: body"] Hesam[/TD]
    [TD="class: body"] Razavi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 19[/TD]
    [/TR]
    [/TABLE]
    - اعمال دستور حذف و وضعيت جديد جدول :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] مثال[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Delete From Students
    Where StudentID = "10724113 " [/TD]
    [TD="class: header"] کد[/TD]
    [/TR]
    [TR]
    [TD="class: body"] [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 6"] Student Table[/TD]
    [/TR]
    [TR]
    [TD="class: header"] Student ID[/TD]
    [TD="class: header"] Name[/TD]
    [TD="class: header"] Family[/TD]
    [TD="class: header"] Major[/TD]
    [TD="class: header"] City[/TD]
    [TD="class: header"] Grade[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 41252214[/TD]
    [TD="class: body"] Ahmad[/TD]
    [TD="class: body"] Rezaee[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 18[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10254861[/TD]
    [TD="class: body"] Zahra[/TD]
    [TD="class: body"] Hosini[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 17[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 27365187[/TD]
    [TD="class: body"] Sahar[/TD]
    [TD="class: body"] Ahmadi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Bam[/TD]
    [TD="class: body"] 16[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 35654415[/TD]
    [TD="class: body"] Hesam[/TD]
    [TD="class: body"] Razavi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 19[/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [TD="class: header"] خروجی[/TD]
    [/TR]
    [/TABLE]

    [HR][/HR] [h=3]* حذف کليه رکوردهای يک جدول :[/h] اين امکان وجود دارد که بدون حذف يک جدول ، کليه رکوردهای درون آن را پاک کرد . اين به منزله خالی کردن جدول از اطلاعات است ، ولی ساختار ، انديس ها و ويژگی های جدول دست نخورده باقی مانده و فقط مقادير درون آن از بين می رود .
    شکل کلی اين دستور به صورت زير است :
    Delete From نام جدول
    يا
    Delete * From نام جدول

    مثال : حذف کليه رکوردهای جدول Student :
    Delete From Student
     
  8. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : # آموزش زبان SQL

    [h=2]دستورات اوليه SQL[/h] دستور Order By :
    اطلاعات خروجی در دستور select به طور کلی بی نظم است و مقادير خروجی در ستون های جدول بر حسب مقدار هيج ستونی مرتب نيستند . اين دستور برای مرتب کردن اطلاعات جدول بر اساس مقادير يک يا چند ستون برحسب شاخص هايی مثل ترتيب حروف الفبا ، بزرگتر يا کوچکتر بودن اعداد و ... استفاده می شود .
    شکل کلی اين دستور به صورت زير است :
    Select نام فيلدهای مورد نظر From جدول مورد نظر
    Order By فيلد مورد نظر
    * فيلدهای معرفی شده در دستور Select از جدول مذکور نمايش داده شده و اطلاعات بر حسب ستون مقابل دستور Order By مرتب می شوند .
    - عبارت ASC : به کار بردن اين دستور پس از دستور Order By باعث مرتب شدن اطلاعات درون جدول از کم به زياد می شود که البته اتخاب پيش فرض SQL است و نيازی به درج آن نيست .
    عبارت DESC : به کار بردن اين واژه پس از دستور Order By باعث مرتب شدن اطلاعات جدول از زِياد به کم در اعداد و در حروف از z تا a می شود ، که در صورت نياز درج آن ضروری است .

    مثال : از جدول Student ، مشخصات نام و نام خانوادگی دانشجويان رشته نرم افزار را بر حسب حروف الفبا نمايش دهيد :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 6"] Student Table[/TD]
    [/TR]
    [TR]
    [TD="class: header"] Student ID[/TD]
    [TD="class: header"] Name[/TD]
    [TD="class: header"] Family[/TD]
    [TD="class: header"] Major[/TD]
    [TD="class: header"] City[/TD]
    [TD="class: header"] Grade[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 41252214[/TD]
    [TD="class: body"] Ahmad[/TD]
    [TD="class: body"] Rezaee[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 18[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10724113[/TD]
    [TD="class: body"] Ehsan[/TD]
    [TD="class: body"] Amiri[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Karaj[/TD]
    [TD="class: body"] 14[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10254861[/TD]
    [TD="class: body"] Zahra[/TD]
    [TD="class: body"] Hosini[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 17[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 27365187[/TD]
    [TD="class: body"] Sahar[/TD]
    [TD="class: body"] Ahmadi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Bam[/TD]
    [TD="class: body"] 16[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 35654415[/TD]
    [TD="class: body"] Hesam[/TD]
    [TD="class: body"] Razavi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 19[/TD]
    [/TR]
    [/TABLE]
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] مثال[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Select Name , Family From Student
    Where Major ="Soft Ware"
    Order By Family [/TD]
    [TD="class: header"] کد[/TD]
    [/TR]
    [TR]
    [TD="class: body"] [TABLE="class: ex, width: 200"]
    [TR]
    [TD="class: header"] Name[/TD]
    [TD="class: header"] Family[/TD]
    [/TR]
    [TR]
    [TD="class: header"] Sahar[/TD]
    [TD="class: header"] Ahmadi[/TD]
    [/TR]
    [TR]
    [TD="class: header"] Ehsan[/TD]
    [TD="class: header"] Amiri[/TD]
    [/TR]
    [TR]
    [TD="class: header"] Hesam[/TD]
    [TD="class: header"] Razavi[/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [TD="class: header"] خروجی[/TD]
    [/TR]
    [/TABLE]
    [HR][/HR] نکته : همچنين می توان يک جدول را بر حسب بيش از يک فيلد مرتب کرد ، برای اين منظور پس از دستور Order By نام تمام فيلدهای مورد نظر را نوشته و آنها را با کاما از هم دا می کنيم . اولويت مرتب سازی با فيلدهای است که نام آنها زودتر ذکر شده باشند .
    مثال : جدول مشخصات دانشجويان را بر حسب فيلد نام ( بر حسب حروف از a تا z ) و بر حسب نمره ( از کم به زياد ) مرتب کنيد :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 6"] Student Table[/TD]
    [/TR]
    [TR]
    [TD="class: header"] Student ID[/TD]
    [TD="class: header"] Name[/TD]
    [TD="class: header"] Family[/TD]
    [TD="class: header"] Major[/TD]
    [TD="class: header"] City[/TD]
    [TD="class: header"] Grade[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 41252214[/TD]
    [TD="class: body"] Ahmad[/TD]
    [TD="class: body"] Rezaee[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 15[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10724113[/TD]
    [TD="class: body"] Ehsan[/TD]
    [TD="class: body"] Amiri[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Karaj[/TD]
    [TD="class: body"] 19[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10254861[/TD]
    [TD="class: body"] Zahra[/TD]
    [TD="class: body"] Hosini[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 18[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 27365187[/TD]
    [TD="class: body"] Sahar[/TD]
    [TD="class: body"] Ahmadi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Bam[/TD]
    [TD="class: body"] 20[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 35654415[/TD]
    [TD="class: body"] Hesam[/TD]
    [TD="class: body"] Razavi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 14[/TD]
    [/TR]
    [/TABLE]
    نکته : در جدول خروجی مثال زير به ارتباط مقادير ستون های Family , Grade توجه کنيد . باوجود اينکه نمره درسی دانشجو حسام رضوی از احمد رضايی کمتر است ، ولی به دليل اينکه اولويت مرتب سازی با نام خانوادگی است ، نام رضوی بالاتر از رضايی قرار گرفته است .
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] مثال[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Select Name , Family , Grade From Student
    Order By Family ASC , Grade DESC [/TD]
    [TD="class: header"] کد [/TD]
    [/TR]
    [TR]
    [TD="class: body"] [TABLE="class: ex, width: 300"]
    [TR]
    [TD="class: header"] Name[/TD]
    [TD="class: header"] Family[/TD]
    [TD="class: header"] Grade[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Sahar [/TD]
    [TD="class: body"] Ahmadi[/TD]
    [TD="class: body"] 20[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Ehsan [/TD]
    [TD="class: body"] Amiri[/TD]
    [TD="class: body"] 19[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Zahra[/TD]
    [TD="class: body"] Hoseini[/TD]
    [TD="class: body"] 18[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Hesam[/TD]
    [TD="class: body"] Razavi[/TD]
    [TD="class: body"] 14[/TD]
    [/TR]
    [TR]
    [TD="class: body"] Ahmad[/TD]
    [TD="class: body"] Rezaee[/TD]
    [TD="class: body"] 16[/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [TD="class: header"] خروجی[/TD]
    [/TR]
    [/TABLE]
    نکته : می توان در دستور Order By به جای ذکر نام ستون ها از يک عدد به جای آن استفاده کرد . عدد استفاده شده شماره قرار گيری ستون مورد نظر در دستور Select است . برای مثال اولين ستون دستور Select عدد 1 و دومين ستون عدد 2 و ... را خواهند داشت . بازنویسی دستور بالا با استفاده از اين روش به صورت زير خواهد بود :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] مثال
    [/TD]
    [/TR]
    [TR]
    [TD="class: body"] Select Name , Family , Grade from Student
    Order By 2 ASC , 3 DESC [/TD]
    [TD="class: header"] کد[/TD]
    [/TR]
    [/TABLE]
     
  9. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : # آموزش زبان SQL

    [h=2]دستورات پيشرفته SQL[/h] دستور AND & OR :
    از And و Or برای ترکيب شرط ها در دستور Where استفاده می شود .
    گاهی اوقات اطلاعات مورد نياز ما در دستور Select دارای چندين شرط مختلف است . به طور مثال ما مشخصات دانشجويان ترم دوم رشته نرم افزار که معدل آنها بيش از 15 است را می خواهيم . در اين حالت بايستی هر يک از شرط های مسئله را به تنهايی تعريف کرده و سپس آنها را با هم ترکيب کنيم . برنامه به ارزيابی هر يک از شرط ها پرداخته ، سپس نتايج حاصله را با هم ترکيب کرده و خروجی را تعيين می کند .
    عملگر And برای اجرای دستور نياز دارد تا تمام شرط های تعيين شده برای آن درست باشد . در حالی که عمگر Or فقط نياز دارد که حداقل يکی از شرط های آن درست باشد . در جداول زير چگونگی برقراری نتيجه نهايی در هنگام استفاده از اين دو اوپراتور را مشاهده می کنيم :
    در حالت 2 شرط :
    [TABLE="width: 100%"]
    [TR]
    [TD] [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 3"] OR [/TD]
    [/TR]
    [TR]
    [TD="class: header"] شرط 1 [/TD]
    [TD="class: header"] شرط 2 [/TD]
    [TD="class: header"] نتيجه [/TD]
    [/TR]
    [TR]
    [TD="class: body"] درست [/TD]
    [TD="class: body"] درست [/TD]
    [TD="class: body"] درست [/TD]
    [/TR]
    [TR]
    [TD="class: body"] درست [/TD]
    [TD="class: body"] غلط [/TD]
    [TD="class: body"] درست [/TD]
    [/TR]
    [TR]
    [TD="class: body"] غلط [/TD]
    [TD="class: body"] درست [/TD]
    [TD="class: body"] درست [/TD]
    [/TR]
    [TR]
    [TD="class: body"] غلط [/TD]
    [TD="class: body"] غلط [/TD]
    [TD="class: body"] غلط [/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [TD] [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 3"] AND [/TD]
    [/TR]
    [TR]
    [TD="class: header"] شرط 1 [/TD]
    [TD="class: header"] شرط 2 [/TD]
    [TD="class: header"] نتيجه [/TD]
    [/TR]
    [TR]
    [TD="class: body"] درست [/TD]
    [TD="class: body"] درست [/TD]
    [TD="class: body"] درست [/TD]
    [/TR]
    [TR]
    [TD="class: body"] درست [/TD]
    [TD="class: body"] غلط [/TD]
    [TD="class: body"] غلط [/TD]
    [/TR]
    [TR]
    [TD="class: body"] غلط [/TD]
    [TD="class: body"] درست [/TD]
    [TD="class: body"] غلط [/TD]
    [/TR]
    [TR]
    [TD="class: body"] غلط [/TD]
    [TD="class: body"] غلط [/TD]
    [TD="class: body"] غلط [/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [/TR]
    [/TABLE]
    چگونگی حالت های فوق را در مثال های زير بررسی می کنيم :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 6"] Student Table [/TD]
    [/TR]
    [TR]
    [TD="class: header"] Student ID [/TD]
    [TD="class: header"] Name [/TD]
    [TD="class: header"] Family [/TD]
    [TD="class: header"] Major [/TD]
    [TD="class: header"] City [/TD]
    [TD="class: header"] Grade [/TD]
    [/TR]
    [TR]
    [TD="class: body"] 41252214 [/TD]
    [TD="class: body"] Ahmad [/TD]
    [TD="class: body"] Rezaee [/TD]
    [TD="class: body"] Hard Ware [/TD]
    [TD="class: body"] Tehran [/TD]
    [TD="class: body"] 18 [/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10724113 [/TD]
    [TD="class: body"] Ehsan [/TD]
    [TD="class: body"] Amiri [/TD]
    [TD="class: body"] Soft Ware [/TD]
    [TD="class: body"] Karaj [/TD]
    [TD="class: body"] 14 [/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10254861 [/TD]
    [TD="class: body"] Zahra [/TD]
    [TD="class: body"] Hosini [/TD]
    [TD="class: body"] Hard Ware [/TD]
    [TD="class: body"] Tehran [/TD]
    [TD="class: body"] 17 [/TD]
    [/TR]
    [TR]
    [TD="class: body"] 27365187 [/TD]
    [TD="class: body"] Sahar [/TD]
    [TD="class: body"] Ahmadi [/TD]
    [TD="class: body"] Soft Ware [/TD]
    [TD="class: body"] Bam [/TD]
    [TD="class: body"] 16 [/TD]
    [/TR]
    [TR]
    [TD="class: body"] 35654415 [/TD]
    [TD="class: body"] Hesam [/TD]
    [TD="class: body"] Razavi [/TD]
    [TD="class: body"] Soft Ware [/TD]
    [TD="class: body"] Tehran [/TD]
    [TD="class: body"] 19 [/TD]
    [/TR]
    [/TABLE]
    مثال 1 : مشخصات دانشجويانی را از جدول Student ارائه دهيد که نمره آنها بيش از 15 و رشته تحصيلی آنها نرم افزار باشد :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] مثال [/TD]
    [/TR]
    [TR]
    [TD="class: body"] Select * From Student
    Where Major = 'Soft Ware' AND Grade > 15 ; [/TD]
    [TD="class: header"] کد [/TD]
    [/TR]
    [TR]
    [TD="class: body"] [TABLE="class: ex"]
    [TR]
    [TD="class: header"] Student ID [/TD]
    [TD="class: header"] Name [/TD]
    [TD="class: header"] Family [/TD]
    [TD="class: header"] Major [/TD]
    [TD="class: header"] City [/TD]
    [TD="class: header"] Grade [/TD]
    [/TR]
    [TR]
    [TD="class: body"] 27365187 [/TD]
    [TD="class: body"] Sahar [/TD]
    [TD="class: body"] Ahmadi [/TD]
    [TD="class: body"] Soft Ware [/TD]
    [TD="class: body"] Bam [/TD]
    [TD="class: body"] 16 [/TD]
    [/TR]
    [TR]
    [TD="class: body"] 35654415 [/TD]
    [TD="class: body"] Hesam [/TD]
    [TD="class: body"] Razavi [/TD]
    [TD="class: body"] Soft Ware [/TD]
    [TD="class: body"] Tehran [/TD]
    [TD="class: body"] 19 [/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [TD="class: header"] خروجی [/TD]
    [/TR]
    [/TABLE]
    مثال 2 : مشخصات دانشجويانی را از جدول Student ارائه دهيد که نمره آنها بيش از 17 بوده يا رشته تحصيلی آنها نرم افزار باشد :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] مثال [/TD]
    [/TR]
    [TR]
    [TD="class: body"] Select * From Student
    where Major = 'Soft Ware' OR Grade > 17 ; [/TD]
    [TD="class: header"] کد [/TD]
    [/TR]
    [TR]
    [TD="class: body"] [TABLE="class: ex"]
    [TR]
    [TD="class: header"] Student ID [/TD]
    [TD="class: header"] Name [/TD]
    [TD="class: header"] Family [/TD]
    [TD="class: header"] Major [/TD]
    [TD="class: header"] City [/TD]
    [TD="class: header"] Grade [/TD]
    [/TR]
    [TR]
    [TD="class: body"] 41252214 [/TD]
    [TD="class: body"] Ahmad [/TD]
    [TD="class: body"] Rezaee [/TD]
    [TD="class: body"] Hard Ware [/TD]
    [TD="class: body"] Tehran [/TD]
    [TD="class: body"] 18 [/TD]
    [/TR]
    [TR]
    [TD="class: body"] 35654415 [/TD]
    [TD="class: body"] Hesam [/TD]
    [TD="class: body"] Razavi [/TD]
    [TD="class: body"] Soft Ware [/TD]
    [TD="class: body"] Tehran [/TD]
    [TD="class: body"] 19 [/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [TD="class: header"] خروجی [/TD]
    [/TR]
    [/TABLE]
    [HR][/HR] نکته مهم : همچنين می توان با استفاده از عملگر پرانتز چندين شرط مختلف را به صورت دسته های مجزا تعريف کرده و سپس همه آنها را با هم ترکيب کرد . در اين حالت شرط های هر گروه ابتدا در داخل پرانتز با هم ترکيب شده ، سپس نتيجه حاصله به عنوان نتيجه نهايي آن گروه شرط به دستور Where ارسال می شود و درنهايت نتايج تمام گروه ها با هم ترکيب می شوند .
    مثال مهم : از جدول Student مشخصات دانشجويانی را ارائه دهيد که نمره آنها 18 و رشته تحصيلی آنها سخت افزار بوده يا نمره آنها 16 و رشته تحصيلی شان نرم افزار باشد :

    [TABLE="class: ex"]
    [TR]
    [TD="class: header"] مثال [/TD]
    [/TR]
    [TR]
    [TD="class: body"] Select * From Student
    Where ( ( Grade = 18 AND Major = 'Hard Ware' ) OR ( Garde = 16 AND Major = 'Soft Ware' ) ) " ; [/TD]
    [TD="class: header"] کد [/TD]
    [/TR]
    [TR]
    [TD="class: body"] [TABLE="class: ex"]
    [TR]
    [TD="class: header"] Student ID [/TD]
    [TD="class: header"] Name [/TD]
    [TD="class: header"] Family [/TD]
    [TD="class: header"] Major [/TD]
    [TD="class: header"] City [/TD]
    [TD="class: header"] Grade [/TD]
    [/TR]
    [TR]
    [TD="class: body"] 41252214 [/TD]
    [TD="class: body"] Ahmad [/TD]
    [TD="class: body"] Rezaee [/TD]
    [TD="class: body"] Hard Ware [/TD]
    [TD="class: body"] Tehran [/TD]
    [TD="class: body"] 18 [/TD]
    [/TR]
    [TR]
    [TD="class: body"] 27365187 [/TD]
    [TD="class: body"] Sahar [/TD]
    [TD="class: body"] Ahmadi [/TD]
    [TD="class: body"] Soft Ware [/TD]
    [TD="class: body"] Bam [/TD]
    [TD="class: body"] 16 [/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [TD="class: header"] خروجی [/TD]
    [/TR]
    [/TABLE]
    [HR][/HR]
     
  10. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : # آموزش زبان SQL

    [h=2]دستوات پيشرفته SQL[/h] دستور In :
    اين دستور برای مشاهده اطلاعات رکوردهايی از جدول به کار می رود که شما مقدار دقيق حداقل يکی از فيلدهای آنرا می دانيد .
    شکل کلی اين دستور به صورت زير است :
    Select نام ستون From نام جدول
    Where نام فيلد IN ( مقدار 1 ، مقدار 2 و ... )
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 6"] Student Table[/TD]
    [/TR]
    [TR]
    [TD="class: header"] Student ID[/TD]
    [TD="class: header"] Name[/TD]
    [TD="class: header"] Family[/TD]
    [TD="class: header"] Major[/TD]
    [TD="class: header"] City[/TD]
    [TD="class: header"] Grade[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 41252214[/TD]
    [TD="class: body"] Ahmad[/TD]
    [TD="class: body"] Rezaee[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 18[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10724113[/TD]
    [TD="class: body"] Ehsan[/TD]
    [TD="class: body"] Amiri[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Karaj[/TD]
    [TD="class: body"] 14[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10254861[/TD]
    [TD="class: body"] Zahra[/TD]
    [TD="class: body"] Hosini[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 17[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 27365187[/TD]
    [TD="class: body"] Sahar[/TD]
    [TD="class: body"] Ahmadi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Bam[/TD]
    [TD="class: body"] 16[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 35654415[/TD]
    [TD="class: body"] Hesam[/TD]
    [TD="class: body"] Razavi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 19[/TD]
    [/TR]
    [/TABLE]
    مثال : از جدول Student مشخصات دانشجويانی را بدهيد که نام خانوادگی آنها احمدی يا رضايی است :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] مثال [/TD]
    [/TR]
    [TR]
    [TD="class: body"] Select * From student
    Where Family IN ( "Ahmadi" , "Rezaee" ); [/TD]
    [TD="class: header"] کد[/TD]
    [/TR]
    [TR]
    [TD="class: body"] [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 6"] Student Table[/TD]
    [/TR]
    [TR]
    [TD="class: header"] Student ID[/TD]
    [TD="class: header"] Name[/TD]
    [TD="class: header"] Family[/TD]
    [TD="class: header"] Major[/TD]
    [TD="class: header"] City[/TD]
    [TD="class: header"] Grade[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 41252214[/TD]
    [TD="class: body"] Ahmad[/TD]
    [TD="class: body"] Rezaee[/TD]
    [TD="class: body"] Hard Ware[/TD]
    [TD="class: body"] Tehran[/TD]
    [TD="class: body"] 18[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 27365187[/TD]
    [TD="class: body"] Sahar[/TD]
    [TD="class: body"] Ahmadi[/TD]
    [TD="class: body"] Soft Ware[/TD]
    [TD="class: body"] Bam[/TD]
    [TD="class: body"] 16[/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [TD="class: header"] خروجی[/TD]
    [/TR]
    [/TABLE]