تور لحظه آخری
امروز : یکشنبه ، 20 آبان 1403    احادیث و روایات:  امام محمد باقر(ع):دانشمندی که از علمش سود برند ، از هفتاد هزار عابد بهتر است .
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

قیمت پنجره دوجداره

بازسازی ساختمان

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

زانوبند زاپیامکس

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

خرید بلیط هواپیما

بلیط اتوبوس پایانه

قیمت سرور dl380 g10

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

پوستر آنلاین

بهترین وکیل کرج

بهترین وکیل تهران

اوزمپیک چیست

خرید اکانت تریدینگ ویو

خرید از چین

خرید از چین

تجهیزات کافی شاپ

نگهداری از سالمند شبانه روزی در منزل

بی متال زیمنس

ساختمان پزشکان

ویزای چک

محصولات فوراور

خرید سرور اچ پی ماهان شبکه

دوربین سیمکارتی چرخشی

همکاری آی نو و گزینه دو

کاشت ابرو طبیعی و‌ سریع

الک آزمایشگاهی

الک آزمایشگاهی

چراغ خطی

 






آمار وبسایت

 تعداد کل بازدیدها : 1827928983




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

معرفي دستورات بازيابي و تلفيق جداول و رسم نمودار در sql


واضح آرشیو وب فارسی:سایت ریسک: farman-h09-10-2009, 09:46 PMبا سلام خدمت دوستان لطفا هر چي در مورد دستورات بازيابي و تلفيق جداول و رسم نمودار در sql ميدونيد كمك كنيد ممنون.:42: shalineh10-10-2009, 04:59 PMبرای بازیابی داده ها در SQL باید یک تقاضا ایجاد کرد. تقاضا در شکل کلی خود با دو روش ایجاد می شود: الف - استفاده از Query که از بحث ما خارج است 2- استفاده از دستور Select >> استفاده از دستور Select شکل کلی دستور Select بصورت زیر است: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!!>> تغییر عنوان فیلدها با استفاده از دستور SELECT می توان عنوان فیلدها را تغییر داد. مثلا کد زیر فیلد Name را به FirstName تغییر می دهد: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!!>> استفاده از String در عنوان دستور SELECT این کار معمولا خوانایی خروجی دستور Select رو افزایش میده. مثلا کد زیر عبارت Name Is رو به تمام رکوردها اضافه می کند: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!!>> بازیابی رکوردهای مورد نظر برای انتخاب رکوردهایی به کار میره که با شرط ما سازگاری و همخوانی دارند. مثلا کد زیر نامهایی رو انتخاب میکنه که حرف S در اون نامها وجود داشته باشه: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!!>> مرتب سازی داده ها میتوان در هنگام بازیابی داده ها ، آنها را Sort کرد. مثلا کد زیر تمام نامها رو بازیابی میکنه و اونها رو به ترتیب نزولی مرتب میکنه: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!!>> حذف فیلدهای تکراری از بازیابی رکوردهای تکراری می توان صرف نظر کرد. کد زیر را ببینید: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!!>> گروه بندی فیلدها می توان رکوردهای بازیابی شده را گروه بندی ( تلخیص ) کرد. در این حالت معمولا هدفی نهفته است. مثلا میخواهیم تعداد نامها رو بر اساس شرط بشماریم. مثلا کد زیر تمام نامهایی را که دارای حرف S هستند رو بازیابی میکنه و در رکوردهای بازیابی شده، نامها رو به تفکیک تعداد مشخص میکنه: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! اگر برای این تلخیص، خواهان اعمال شرط نیز هستید میتونید عبارت Having رو هم به انتهای کد اضافه کنید و شرط مورد نظر رو بنویسید. >> استفاده از توابع: توابع برای تامین هدفی خاص و معمولا در همراهی با Group By به کار می روند. مثلا عبارت زیر مجموع نمرات هر دانشجو را برمیگرداند: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!!توابع مهم عبارتند از: AVG , COUNT, MAX, MIN, STDEV, STDEVP, SUM, VAR,VARP shalineh10-10-2009, 05:44 PMتلفیق برای بازیابی اطلاعات از چندین جدول بکار میره. مثلا شما فرض کنید یک جدول داریم که نام دانشجوها رو در اون ذخیره کردیم. یک جدول هم داریم که واحدهایی که دانشجویان در این ترم انتخاب کرده اند رو ذخیره کرده ایم. مشخص است که یک دانشجو میتونه بیش از یک واحد انتخاب کنه و هر واحد هم میتونه توسط بیش از یک نفر انتخاب شده باشه. خب، حالا میخواهیم واحدهایی که توسط دانشجوی X انتخاب شده رو ، بازیابی کنیم. در این حالت دو راه داریم: 1- بررسی تک تک فیلدها و شرط گذاری برای آنها ، تا نهایت تمام واحدهایی که یک یا چند دانشجوی مشخص ( معلوم الحال :31: ) انتخاب کرده اند رو بازیابی کنیم. یه لحظه فکر کن. مثلا در دانشگاهی به عظمت دانشگاه تهران، بررسی این فیلدها بصورت مجزا ، چقدر زمان بر خواهد بود. 2- استفاده از دستورات تلفیق یا همون JOIN ( بهترین و در واقع مطمئن ترین راه ) پنج روش متداول تلفیق ، در SًًQL عبارتند از : 1- تلفیق Equi Join تساوی فیلدها رو بررسی میکنه. یعنی چه؟ یعنی فقط فیلدهایی بازیابی خواهند شد که مقدار آنها در جدولهای مختلف برابر باشه. یه مثال میزنم. دو تا جدول داریم. جدول1 و جدول2 . در جدول 1 دو تا فیلد داریم. فیلد شماره دانشجویی (S_Num) و فیلد نام دانشجو (Name). در جدول 2 هم سه تا فیلد داریم. فیلد شماره دانشجویی (S_Num) و نام درس ( Study ) و نمره ( Grade). برای بازیابی نمرات هر دانشجو از این دو جدول باید کدی مثل کد زیر نوشته بشه: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! 2- تلفیق Natural این هم تساوی فیلدها رو بررسی میکنه اما ... اما فقط رکوردهای غیر تکراری بازیابی خواهند شد. باید به جای علامت تساوی ، علامت <> قرار دهیم. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! 3- تلفیق Cross Join تمام رکوردهای جدولها بازیابی خواهند شد. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! 4- تلفیق Outer Join تمام فیلدهای یک جدول و بخشی از فیلدهای جدول دیگر را بازیابی میکند. و سه نوع دارد: Left Outer Join = بازیابی تمام رکوردهای جدول اول و رکوردهایی از جدول دوم که با جدول اول سازگارند. Right Outer Join = بازیابی تمام رکوردهای جدول دوم و رکوردهایی از جدول اول که با جدول دوم سازگارند. Full Outer Join = بازیابی تمام رکوردهای سازگار جدول اول و دوم. مثال: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! 5- تلفیق Self Join جدول رو با خودش تلفیق میکنه. به چه دردی میخوره؟ خب ، معمولا برای پیدا کردن رکوردهای تکراری یک جدول بکار میره. ( نقطه مقابل دستور DISTINCT - که در پست قبل توضیح دادم) . در این الحاق حتما باید از نامهای مستعار استفاده کرد. ( یعنی جدول رو به دو جدول مستعار تقسیم کرد ) مثلا در مثال بالا ( دیتابیس فرضی ) میخواهیم نمرات یک یا چند دانشجو رو با شماره دانشجویی مشخص بازیابی کنیم. خب میدونیم که شماره دانشجویی برای هر دانشجو یکتا هست و نمرات هم در جدول دوم بر اساس شماره دانشجویی وارد شده است . پس: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! farman-h10-10-2009, 10:29 PMتلفیق برای بازیابی اطلاعات از چندین جدول بکار میره. مثلا شما فرض کنید یک جدول داریم که نام دانشجوها رو در اون ذخیره کردیم. یک جدول هم داریم که واحدهایی که دانشجویان در این ترم انتخاب کرده اند رو ذخیره کرده ایم. مشخص است که یک دانشجو میتونه بیش از یک واحد انتخاب کنه و هر واحد هم میتونه توسط بیش از یک نفر انتخاب شده باشه. خب، حالا میخواهیم واحدهایی که توسط دانشجوی X انتخاب شده رو ، بازیابی کنیم. در این حالت دو راه داریم: 1- بررسی تک تک فیلدها و شرط گذاری برای آنها ، تا نهایت تمام واحدهایی که یک یا چند دانشجوی مشخص ( معلوم الحال :31: ) انتخاب کرده اند رو بازیابی کنیم. یه لحظه فکر کن. مثلا در دانشگاهی به عظمت دانشگاه تهران، بررسی این فیلدها بصورت مجزا ، چقدر زمان بر خواهد بود. 2- استفاده از دستورات تلفیق یا همون JOIN ( بهترین و در واقع مطمئن ترین راه ) پنج روش متداول تلفیق ، در SًًQL عبارتند از : 1- تلفیق Equi Join تساوی فیلدها رو بررسی میکنه. یعنی چه؟ یعنی فقط فیلدهایی بازیابی خواهند شد که مقدار آنها در جدولهای مختلف برابر باشه. یه مثال میزنم. دو تا جدول داریم. جدول1 و جدول2 . در جدول 1 دو تا فیلد داریم. فیلد شماره دانشجویی (S_Num) و فیلد نام دانشجو (Name). در جدول 2 هم سه تا فیلد داریم. فیلد شماره دانشجویی (S_Num) و نام درس ( Study ) و نمره ( Grade). برای بازیابی نمرات هر دانشجو از این دو جدول باید کدی مثل کد زیر نوشته بشه: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! 2- تلفیق Natural این هم تساوی فیلدها رو بررسی میکنه اما ... اما فقط رکوردهای غیر تکراری بازیابی خواهند شد. باید به جای علامت تساوی ، علامت <> قرار دهیم. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! 3- تلفیق Cross Join تمام رکوردهای جدولها بازیابی خواهند شد. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! 4- تلفیق Outer Join تمام فیلدهای یک جدول و بخشی از فیلدهای جدول دیگر را بازیابی میکند. و سه نوع دارد: Left Outer Join = بازیابی تمام رکوردهای جدول اول و رکوردهایی از جدول دوم که با جدول اول سازگارند. Right Outer Join = بازیابی تمام رکوردهای جدول دوم و رکوردهایی از جدول اول که با جدول دوم سازگارند. Full Outer Join = بازیابی تمام رکوردهای سازگار جدول اول و دوم. مثال: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! 5- تلفیق Self Join جدول رو با خودش تلفیق میکنه. به چه دردی میخوره؟ خب ، معمولا برای پیدا کردن رکوردهای تکراری یک جدول بکار میره. ( نقطه مقابل دستور DISTINCT - که در پست قبل توضیح دادم) . در این الحاق حتما باید از نامهای مستعار استفاده کرد. ( یعنی جدول رو به دو جدول مستعار تقسیم کرد ) مثلا در مثال بالا ( دیتابیس فرضی ) میخواهیم نمرات یک یا چند دانشجو رو با شماره دانشجویی مشخص بازیابی کنیم. خب میدونیم که شماره دانشجویی برای هر دانشجو یکتا هست و نمرات هم در جدول دوم بر اساس شماره دانشجویی وارد شده است . پس: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! سلام ممنون دوست عزيز واقعا زحمت كشيدي دستت درد نكنه. skiski09-05-2010, 08:53 AMسلام با تشكر من دو تا جدول دارم كه در جدول يك عدد 1000 سه بار تكرار شده و در جدول شماره دو ، عدد 1000 يكبار تكرار شده . من قصد دارم اعداد جدول يك با جدول دو با هم كنترل و در خروجي عدد 1000 را دو بار نشان دهد . لطفاً كمكم كنيد سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 1128]

bt

اضافه شدن مطلب/حذف مطلب




-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن