دستورات پیشرفته SQL

دستور Unoin :

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

SQL Statment 1 ( نام فیلد ۱ اتخابی )
Union
SQL Statment 1 ( نام فیلد ۲ اتخابی )

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

Student Table
Student ID Name Family Major City Grade
۴۱۲۵۲۲۱۴ Ahmad Rezaee Hard Ware Tehran ۱۸
۱۰۷۲۴۱۱۳ Ehsan Amiri Soft Ware Karaj ۱۴
۱۰۲۵۴۸۶۱ Zahra Hosini Hard Ware Tehran ۱۷
۲۷۳۶۵۱۸۷ Sahar Ahmadi Soft Ware Bam ۱۶
۳۵۶۵۴۴۱۵ Hesam Razavi Soft Ware Tehran ۱۹

 

Courses Table
Course ID Co Title Credit Co Type
۱۰۱۱ پایگاه داده ۳ عملی
۱۰۱۲ مباحث ویژه ۳ عملی
۱۰۱۳ زبان تخصصی ۲ نطری

 

Selection Table
Student ID Course ID Term Year Grade
۴۱۲۵۲۲۱۴ ۱۰۱۱ ۲ ۸۵ – ۸۶ ۱۶
۱۰۷۲۴۱۱۳ ۱۰۱۱ ۲ ۸۵ – ۸۶ ۱۴
۴۱۲۵۲۲۱۴ ۱۰۱۲ ۱ ۸۵ – ۸۶ ۱۷
۱۰۷۲۴۱۱۳ ۱۰۱۲ ۱ ۸۵ – ۸۶ ۱۱
۱۰۲۵۴۸۶۱ ۱۰۱۳ ۲ ۸۵ – ۸۶ ۱۳
۱۰۲۵۴۸۶۱ ۱۰۱۱ ۲ ۸۴ – ۸۵ ۸
۲۷۳۶۵۱۸۷ ۱۰۱۲ ۱ ۸۴ – ۸۵ ۱۹
۲۷۳۶۵۱۸۷ ۱۰۱۳ ۱ ۸۴ – ۸۵ ۱۶
۳۵۶۵۴۴۱۵ ۱۰۱۱ ۲ ۸۴ – ۸۵ ۹
۳۵۶۵۴۴۱۵ ۱۰۱۳ ۲ ۸۴ – ۸۵ ۱۷

 

مثال
Select Stuedent ID From Students
Where Major = ‘ Soft ‘
Union
Select Student ID From Selection
Where Course ID = 1013 ;
کد
Student ID
۱۰۲۵۴۸۶۱
۱۰۷۲۴۱۱۳
۲۷۳۶۵۱۸۷
۳۵۶۵۴۴۱۵
خروجی

 

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

مثال : شماره دانشجویی ، نام و نام خانوادگی دانشجویانی را بدهید که در رشته سخت افزار تحصیل کرده  یا حداقل یک  درس از نوع نظری را انتخاب کرده باشند :

مثال
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 = ‘ نظری ‘ ;
کد
Student ID Name Family
۱۰۲۵۴۸۶۱ Zahra Hosini
۱۰۷۲۴۱۱۱۳ Ehsan Amiri
۲۷۳۶۵۱۸۷ Sahar Ahmadi
۳۵۶۵۴۴۱۵ Hesam Razavi
خروجی