شناختن SELECT DISTINCT

يکی از اهداف طرح پايگاه داده ارتباطی برداشتن وابستگی داده ها می باشد. اما بيشتر پايگاه داده به طور

ضروری مقادير واقعی در چندين سطر را شامل خواهد شد. يک جدولی که شامل اطلاعات آدرس مشتری

می باشد برای مثال احتمالاً کد ايالتی و کشوری برای چندين سطر خواهد داشت که نه اشتباه و نه

تکراری می باشد. نظر به اينکه هر کد ايالتی نسبتی از يک مشتری می باشد. به همين نحو يک جدول از

چندين جهت از يک ارتباط يک به چند ممکن است هر مقدار کليد خارجی معلوم که چندين بار تکرار شده را

داشته باشد. آن برای يک ارتباط يکپارچه از پايگاه داده لازم می باشد. اگر چه اين تکرار می تواند بعضی

مواقع نتايج Query را نامطلوب سازد. يک جدول مشتری با ١٠٠٠ سطر با ٩٠ درصد مشتری از کاليفرنيا،

Query زير کد CA را ٩٠٠٠ بار خواهد باز گرداند که اصلاً يک نتيجه مفيدی نمی باشد.

SELECT State From Customer

کليد واژه Distinct در اين موقعيت شما را کمک می کند. Distinct که درست بعد از SELECT قرار می گيرد

به SQL Server دستور داده که سطرهايی چندگانه در قرارگيری نتايج را حذف نمايد. بنابراين Query زير هر

کد ايالتی را فقط يک بار باز می گرداند به طور وضوح ليستی که شما جستجو می کنيد.

SELECT DISTINCT State From Customer

راهنمايی: همتای کليد واژه Distinct ، All می باشد که SQL Server را برای بازگرداندن همه سطرها آگاه

می سازد خواه آن واحد باشد يا خير. از موقعی که اين يک عملکرد پيش فرض از يک عبارت SELECT می

باشد All به طور معمول استفاده نمی گردد. اما شما ممکن تصميم بگيريد به در برداشتن آن اگر ساختار

دستور Query را بيشتر قابل فهم سازيد.

استفاده کردن از SELECT DISTINCT

کليد واژه Distinct می تواند در عبارت SQL از Query Distinct يا به وسيله تنظيمات Properties از Query

مشخص گردد.

ايجاد کردن Distinct Query با استفاده از قاب دياگرام

-١ Query Designer را برای جدول Oils به وسيله کليک راست کردن نام جدول در قاب Details باز کرده

روی جدول Open رفته و همه سطرهای بازگشتی را انتخاب می کنيم.

٢- قاب دياگرام را به وسيله کليک کردن روی دکمه قاب دياگرام در نوار ابزار Query Designer نشان می

دهيم.

٣- دکمه Add Table را کليک می کنيم. Query Designer کادر محاوره ای Add Table را نشان می دهد.

-٤ Plantparts را در ليست جدول انتخاب می کنيم و سپس Add را کليک می کنيم. Query Designer

جدول را به Query اضافه می کند.

-٥ Close را برای بستن کادر محاوره ای کليک می کنيم.

٦- دکمه قاب SQL را در نوار ابزار Query Designer کليک می کنيم. قاب SQL ، Query Designer را نشان

می دهد.

٧- علامت * بعد از کليد واژه SELECT را حذف می کنيم.

٨- دکمه قاب SQL را در نوار ابزار Query Designer کليک می کنيم ( OK را اگر Query Designer يک متن

خطا درباره ساختار دستور عبارت SELECT نشان می دهد کليک می کنيم). Query Designer قاب SQL را

پنهان می سازد.

مهم: زمانی که شما Query Designer را باز می کنيد حالت SQL پيش فرض معمولاً SELECT * می باشد.

ستون ويژه در قاب دياگرام به سبب اينکه آنها به ليست ستون اضافه می شوند انتخاب می گردند.

Plantpart لودج زا ار Plantparts برای نشان دادن انتخاب می کنيم.

١٠ - دکمه Run را برای اجرای مجدد Query کليک می کنيم. Query Designer هر مقدار Plantpart را

چندين بار ليست می کند.

١١ - در يک ناحيه خالی از قاب دياگرام کليک راست کرده و Properties را انتخاب می کنيم. Query Designer کادر محاوره ای Properties را نشان می دهد.

١٢ - گزينه مقادير Distinct را انتخاب می کنيم.

-١٣ Close را برای بستن کادر محاوره ای کليک می کنيم.

١٤ - دکمه Run را برای اجرای مجدد Query کليک می کنيم. Query Designer هر مقدار را فقط يک بار

نشان می دهد.

ايجاد کردن يک SELECT DISTINCT با استفاده از قاب SQL

١- قاب دياگرام را پنهان ساخته و قاب SQL را نشان می دهيم.

٢- عبارت SELECT موجود را با متن زير جايگزين می کنيم.

SELECT DISTINCT Plant Types Plant Type

FROM Oils INNER Join

Plant Types ON Oils Plant Type ID=Plant Types Plant Type ID

٣- دکمه Run را برای اجرا مجدد Query کليک می کنيم. Query Designer مقدار PlantType متمايز که به

وسيله جدول Oils بازگشت شده را نشان می دهد.

در آموزشگاه تحلیل داده ها ، آموزش sql و برنامه نویسی را به خوبی فرا خواهید گرفت.