نمایش نتایج 1 تا 9 از 9

نام تاپیک: INNER JOIN , LEFT JOIN , RIGHT JOIN

  1. #1
    کاربر تازه وارد آواتار Helen_Farhani
    تاریخ عضویت
    آذر 1385
    محل زندگی
    اینترنت
    پست
    60

    INNER JOIN , LEFT JOIN , RIGHT JOIN

    تفاوت INNER JOIN , LEFT JOIN , RIGHT JOIN در چی هست؟ من متوجه کارایی و تفاوت اینها نمیشوم.

    ممنون

  2. #2
    کاربر دائمی آواتار Mohammad_Mnt
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    جنگلی به نام ایران
    سن
    41
    پست
    1,875
    فرض کن یه Table داری واسه فاکتور به اسم tFactor که سریال و تاریخ فاکتور را توش ذخیره می کنی و یه Table دیگه داری واسه ردیف های فاکتور به اسم tItems که سریال، شماره ردیف، توضیح و مبلغ را توش ذخیره می کنی.
    حالا Inner Join می تونه اطلاعات هر ردیف + اطلاعات فاکتوری که این ردیف را شامل می شه را بر گردونه به شرطی که رکورد مشترک توی هر دوتا تیبل باشه :
    SELECT TITEMS.*, TFACTOR.* 
    FROM TITEMS
    INNER JOIN TFACTOR ON
    TFACTOR.SERIAL = TITEMS.SERIAL


    بعدی: Left Join
    مثل Inner Join عمل می کنه با این تفاوت که بدون توجه به وجود رکورد مشترک در هر دو تیبل، تمام رکوردهای مشترک جدول سمت چپ ( رنگ قرمز ) را بر می گردونه و اگر رکورد متناظری در جدول سمت راست وجود نداشته باشه، برای هر ستون مقدار Null را بر می گردونه :
    SELECT TITEMS.*, TFACTOR.* 
    FROM TITEMS
    LEFT JOIN TFACTOR ON
    TFACTOR.SERIAL = TITEMS.SERIAL


    بعدی : Right Join
    دقیقا" برعکس Left Join عمل می کنه

  3. #3
    توضیحات خوب بود . ساده اش هم این میشه که
    innerبه ازای هر رکورد در جدول اول حداقل باید یک رکورد در جدول دوم وجود داشته باشه
    Left همه رکورد های جدول سمت چپ و اگر بود هم رکورد معادل از جدول سمت راست
    Right همه رکورد های جدول سمت راست و اگر بود هم رکورد معادل از جدول سمت چپ

  4. #4
    کاربر تازه وارد آواتار Helen_Farhani
    تاریخ عضویت
    آذر 1385
    محل زندگی
    اینترنت
    پست
    60
    پس میشه گفت که query زیر یک Inner Joun هست؟

    SELECT TITEMS.*, TFACTOR.*
    FROM TITEMS, TFACTOR
    WHERE TFACTOR.SERIAL = TITEMS.SERIAL



    در مورد LEFT و Right
    خوب این چه کاری هست؟ چه تفاوتی با هم میکنند ( در کارایی دارند )؟

    و اصلا وقتی میتونیم از Inner Join استفاده کنیم چه نیازی به Left Ritgh پیدا میکنیم؟

    ممنون از وقتی که گذاشتید

  5. #5
    کاربر دائمی آواتار SYNDROME
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    تهران
    پست
    2,814
    با سلام
    نقل قول نوشته شده توسط Helen_Farhani مشاهده تاپیک
    و اصلا وقتی میتونیم از Inner Join استفاده کنیم چه نیازی به Left Ritgh پیدا میکنیم؟
    دقت کنید.

    Select *
    From Tbl_Test1 T1
    Left Outer Join Tbl_Test2 T2
    ON T1.No = T2.No


    جدول Tbl_Test1
    No Name
    1 ali
    2 mamad
    جدول Tbl_Test2
    1 ali
    3 k

    اگر در دستور بالا Inner Join استفاده کنید کلیه رکوردهایی را نمایش می دهد که در دو جدول وجود داشت باشد.
    ali 1
    ولی اگر left LOuter Join : کلیه رکوردهایی که در جدول Tbl_Test1 وجود دارد.
    ali 1
    mamd 2
    و اگر Right Outer Jolin: کلیه رکوردهایی که در جدول Tbl_Test2 وجود دارد.
    ali 1
    k 3
    موفق باشید

  6. #6
    کاربر تازه وارد آواتار Helen_Farhani
    تاریخ عضویت
    آذر 1385
    محل زندگی
    اینترنت
    پست
    60
    و اگر جدول سوم و یا چهارمی وجود داشته باشه چی؟

  7. #7
    می توانید مجموعه Join شده را یک واحد فرض و مجددا join را انجام دهید

  8. #8
    کاربر دائمی آواتار SYNDROME
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    تهران
    پست
    2,814
    با سلام
    نقل قول نوشته شده توسط Helen_Farhani مشاهده تاپیک
    و اگر جدول سوم و یا چهارمی وجود داشته باشه چی؟
    می توانید دستورات زیر را به تعداد مورد نیاز و با جداول مورد نظر تکرار کنید.

    Left Outer Join Tbl_Test2 T2
    ON T1.No = T2.No

    موفق باشید

  9. #9

    Question متصل کردن چند جدول

    سلام
    آیا میشه بیش از 2 جدول رو با استفاده ازINNER JOIN به هم متصل کرد.
    اگه میشه لطف کنید دستورش رو بزارین(مثلا برای 3 جدول)
    با تشکر

تاپیک های مشابه

  1. منظور از Right Join و Left Join
    نوشته شده توسط vahab_vb در بخش SQL Server
    پاسخ: 3
    آخرین پست: پنج شنبه 05 بهمن 1385, 13:29 عصر
  2. LEFT JOIN ,SELF JOIN
    نوشته شده توسط the Dead در بخش MySQL
    پاسخ: 4
    آخرین پست: جمعه 03 آذر 1385, 17:52 عصر
  3. join in SQL
    نوشته شده توسط net_ved در بخش برنامه نویسی در Delphi
    پاسخ: 9
    آخرین پست: شنبه 13 فروردین 1384, 10:18 صبح
  4. تفاوتINNER JOIN و LEFT JOIN
    نوشته شده توسط tayebeh در بخش SQL Server
    پاسخ: 2
    آخرین پست: دوشنبه 28 دی 1383, 07:26 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •