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

دستور Unoin

شروع موضوع توسط hector2141 ‏26/7/13 در انجمن SQL

  1. کاربر ارشد

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

    از دستور Union برای ترکيب و ادغام دو يا چند ستون مختلف از 2 يا چند جدول و نشان دادن آنها در يک ستون مشترک استفاده می شود .
    در اين دستور ، نوع داده ای ستون های انتخاب شده برای ترکيب بايد يکسان باشند . دستور Union در هنگام ترکيب فيلد ها ، در صورت برخورد با مقادير تکراری آنها را حذف کرده و از هر مقدار يک نمونه را نمايش می دهد . برای مشاهده تمام مقادير ، حتی مقادير تکراری بايد از دستور Union ALL استفاده کرد .
    شکل کلی استفاده از اين دستور به صورت زير است :
    SQL Statment 1 ( نام فيلد 1 اتخابی )
    Union
    SQL Statment 1 ( نام فيلد 2 اتخابی )

    مثال : شماره دانشجويی ، دانشجويانی را بدهيد که يا دانشجوی رشته نرم افزار بوده يا در درس زبان تخصصی با کد 1013 ثبت نام کرده اند :
    [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: 4"] Courses Table[/TD]
    [/TR]
    [TR]
    [TD="class: header"] Course ID[/TD]
    [TD="class: header"] Co Title[/TD]
    [TD="class: header"] Credit[/TD]
    [TD="class: header"] Co Type[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 1011[/TD]
    [TD="class: body"] پايگاه داده[/TD]
    [TD="class: body"] 3[/TD]
    [TD="class: body"] عملی[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 1012[/TD]
    [TD="class: body"] مباحث ويژه[/TD]
    [TD="class: body"] 3[/TD]
    [TD="class: body"] عملی[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 1013[/TD]
    [TD="class: body"] زبان تخصصی[/TD]
    [TD="class: body"] 2[/TD]
    [TD="class: body"] نطری[/TD]
    [/TR]
    [/TABLE]

    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 5"] Selection Table[/TD]
    [/TR]
    [TR]
    [TD="class: header"] Student ID[/TD]
    [TD="class: header"] Course ID[/TD]
    [TD="class: header"] Term[/TD]
    [TD="class: header"] Year[/TD]
    [TD="class: header"] Grade[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 41252214[/TD]
    [TD="class: body"] 1011[/TD]
    [TD="class: body"] 2[/TD]
    [TD="class: body"] 85 - 86[/TD]
    [TD="class: body"] 16[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10724113[/TD]
    [TD="class: body"] 1011[/TD]
    [TD="class: body"] 2[/TD]
    [TD="class: body"] 85 - 86[/TD]
    [TD="class: body"] 14[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 41252214[/TD]
    [TD="class: body"] 1012[/TD]
    [TD="class: body"] 1[/TD]
    [TD="class: body"] 85 - 86[/TD]
    [TD="class: body"] 17[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10724113[/TD]
    [TD="class: body"] 1012[/TD]
    [TD="class: body"] 1[/TD]
    [TD="class: body"] 85 - 86[/TD]
    [TD="class: body"] 11[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10254861[/TD]
    [TD="class: body"] 1013[/TD]
    [TD="class: body"] 2[/TD]
    [TD="class: body"] 85 - 86[/TD]
    [TD="class: body"] 13[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10254861[/TD]
    [TD="class: body"] 1011[/TD]
    [TD="class: body"] 2[/TD]
    [TD="class: body"] 84 - 85[/TD]
    [TD="class: body"] 8[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 27365187[/TD]
    [TD="class: body"] 1012[/TD]
    [TD="class: body"] 1[/TD]
    [TD="class: body"] 84 - 85[/TD]
    [TD="class: body"] 19[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 27365187[/TD]
    [TD="class: body"] 1013[/TD]
    [TD="class: body"] 1[/TD]
    [TD="class: body"] 84 - 85[/TD]
    [TD="class: body"] 16[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 35654415[/TD]
    [TD="class: body"] 1011[/TD]
    [TD="class: body"] 2[/TD]
    [TD="class: body"] 84 - 85[/TD]
    [TD="class: body"] 9[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 35654415[/TD]
    [TD="class: body"] 1013[/TD]
    [TD="class: body"] 2[/TD]
    [TD="class: body"] 84 - 85[/TD]
    [TD="class: body"] 17[/TD]
    [/TR]
    [/TABLE]

    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] مثال [/TD]
    [/TR]
    [TR]
    [TD="class: body"] Select Stuedent ID From Students
    Where Major = ' Soft '
    Union
    Select Student ID From Selection
    Where Course ID = 1013 ; [/TD]
    [TD="class: header"] کد[/TD]
    [/TR]
    [TR]
    [TD="class: body"] [TABLE="class: ex, width: 25%"]
    [TR]
    [TD="class: header"] Student ID[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10254861[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 10724113[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 27365187[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 35654415[/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [TD="class: header"] خروجی[/TD]
    [/TR]
    [/TABLE]

    [HR][/HR] توجه : می توان دستورات Select تعريف شده در دستور Union را تا حد نياز گسترش د اد . به عبارت ديگر هر دستور مجاز Select در اين قسمت قابل تعريف است . برای مثال می توان در دستورات Select تعريف شده ، جدول ها را به هم پيوند داد و فقط يک ستون خروجی توليد کرد و سپس آن را با ستون طرف ديگر پيوند زد .
    نکته : می توان در دستور Union بيش از يک ستون مجزا را تعريف کرد . فقط بايد تعداد ستون های و ترتيب نوع داده ای ستون های تعريف شده يکسان باشند . برنامه مقادير ستون ها را به ترتيب با هم پيوند می دهد .

    مثال : شماره دانشجويي ، نام و نام خانوادگی دانشجويانی را بدهيد که در رشته سخت افزار تحصيل کرده يا حداقل يک درس از نوع نظری را انتخاب کرده باشند :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header"] مثال [/TD]
    [/TR]
    [TR]
    [TD="class: body"] Select Student ID , Name , Family
    From Students
    Where Major = ' Hard '
    Union
    Select Student ID , Name , Family
    From Students , Seleciton , Courses
    where Students.Student ID = Selection.Student ID
    AND Selection.Course ID = Courses.Course ID
    AND CoType = ' نظری ' ; [/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]
    [/TR]
    [TR]
    [TD="class: body"] 10254861[/TD]
    [TD="class: body"] Zahra[/TD]
    [TD="class: body"] Hosini[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 107241113[/TD]
    [TD="class: body"] Ehsan[/TD]
    [TD="class: body"] Amiri[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 27365187[/TD]
    [TD="class: body"] Sahar[/TD]
    [TD="class: body"] Ahmadi[/TD]
    [/TR]
    [TR]
    [TD="class: body"] 35654415[/TD]
    [TD="class: body"] Hesam[/TD]
    [TD="class: body"] Razavi[/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [TD="class: header"] خروجی [/TD]
    [/TR]
    [/TABLE]