پنجشنبه 23 اسفند 1386
آموزش SQLserver (بخش دوم)
خلاصه سازی داده ها
هنگامی که دو جدول در یک پیوند یک به چند سهیم هستند. وسیله محرک Query مقادیری از سطر را از یک طرف برای ارتباط دادن سطرها در طرفهای دیگری تکرار می کند. بعضی مواقع آن دقیقاً چیزی است که شما می خواهید، اما اغلب شما می خواهید تکرار کردن سطرها را از چندین طریق دسته بندی یا خلاصه سازید. در این درس، ما به دو روش برای انجام آن که عبارتند از کلید واژه DISTINCT و شرط GROUP BY نگاه خواهیم کرد.
شناختن SELECT DISTINCT
یکی از اهداف طرح پایگاه داده ارتباطی برداشتن وابستگی داده ها می باشد. اما بیشتر پایگاه داده به طور ضروری مقادیر واقعی در چندین سطر را شامل خواهد شد. یک جدولی که شامل اطلاعات آدرس مشتری می باشد برای مثال احتمالاً کد ایالتی و کشوری برای چندین سطر خواهد داشت که نه اشتباه و نه تکراری می باشد. نظر به اینکه هر کد ایالتی نسبتی از یک مشتری می باشد. به همین نحو یک جدول از چندین جهت از یک ارتباط یک به چند ممکن است هر مقدار کلید خارجی معلوم که چندین بار تکرار شده را داشته باشد. آن برای یک ارتباط یکپارچه از پایگاه داده لازم می باشد. اگر چه این تکرار می تواند بعضی مواقع نتایج Query را نامطلوب سازد. یک جدول مشتری با 1000 سطر با 90 درصد مشتری از کالیفرنیا، Query زیر کد CA را 9000 بار خواهد باز گرداند که اصلاً یک نتیجه مفیدی نمی باشد.
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 مشخص گردد. ادامه مطلب ...
هنگامی که دو جدول در یک پیوند یک به چند سهیم هستند. وسیله محرک Query مقادیری از سطر را از یک طرف برای ارتباط دادن سطرها در طرفهای دیگری تکرار می کند. بعضی مواقع آن دقیقاً چیزی است که شما می خواهید، اما اغلب شما می خواهید تکرار کردن سطرها را از چندین طریق دسته بندی یا خلاصه سازید. در این درس، ما به دو روش برای انجام آن که عبارتند از کلید واژه DISTINCT و شرط GROUP BY نگاه خواهیم کرد.
شناختن SELECT DISTINCT
یکی از اهداف طرح پایگاه داده ارتباطی برداشتن وابستگی داده ها می باشد. اما بیشتر پایگاه داده به طور ضروری مقادیر واقعی در چندین سطر را شامل خواهد شد. یک جدولی که شامل اطلاعات آدرس مشتری می باشد برای مثال احتمالاً کد ایالتی و کشوری برای چندین سطر خواهد داشت که نه اشتباه و نه تکراری می باشد. نظر به اینکه هر کد ایالتی نسبتی از یک مشتری می باشد. به همین نحو یک جدول از چندین جهت از یک ارتباط یک به چند ممکن است هر مقدار کلید خارجی معلوم که چندین بار تکرار شده را داشته باشد. آن برای یک ارتباط یکپارچه از پایگاه داده لازم می باشد. اگر چه این تکرار می تواند بعضی مواقع نتایج Query را نامطلوب سازد. یک جدول مشتری با 1000 سطر با 90 درصد مشتری از کالیفرنیا، Query زیر کد CA را 9000 بار خواهد باز گرداند که اصلاً یک نتیجه مفیدی نمی باشد.
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 مشخص گردد. ادامه مطلب ...
