keyboard_return  چسبون مقالات آموزشی انواع Join در SQL
  1. انواع Join در SQL

مقایسه JOIN، INNER JOIN، LEFT JOIN و RIGHT JOIN در SQL

به منظور کاهش فضای مورد نیاز برای ذخیره سازی داده ها نیاز است تا جدول های مورد نیاز را بر اساس استاندارد طراحی و پیاده سازی کنیم. به همین منظور گاهی جدول های طراحی شده نرمال سازی می شوند تا از ذخیره داده های تکراری در یک جدول جلوگیری شود. برای مثال بجای اینکه تمام اطلاعات مربوط به مشتری و سفارش هایی که داده را در یک جدول ذخیره کنند، اطلاعات شخصی کاربر را در جدول مربوط به اطلاعات شخصی و اطلاعات سفارش او را در جدول دیگری ذخیره می کنند.

در SQL از Join برای ترکیب سطرهای دو یا چند جدول بر اساس ستون های مرتبط بین آنها استفاده می شود. در ادامه انواع JOIN در SQL را بررسی می کنیم:

JOIN : همه رکوردهایی که در هر دو جدول  دارای یک رابطه هستند را بر می گرداند.

INNER JOIN: همانند JOIN عمل می کند با این تفاوت که کارایی بهتری دارد توصیه می شود از INNER JOIN بجای JOIN استفاده کنید.

LEFT JOIN : همه رکورد های جدول سمت چپ در خروجی ظاهر می شود و از جدول سمت راست فقط سطر هایی که  رکوردهای متناظر آن در جدول چپ وجود داشته در خروجی ظاهر می شود.

RIGHT JOIN : همه رکورد های جدول سمت راست در خروجی ظاهر می شود و از جدول سمت چپ فقط سطر هایی که  رکوردهای متناظر آن در جدول راست وجود داشته در خروجی ظاهر می شود.

FULL JOIN: همه رکوردهای هر دو جدول را بر می گرداند.

SQL JOIN TYPE

به عنوان مثال جدولی حاوی اطلاعات مربوط به سفارشات کاربر داریم که در این مثال آن را Orders می نامیم.

Order_ID

Customer_ID

OrderDate

111111

2

2017-09-06

111112

1

2017-09-06

111113

1

2017-09-07

111114

4

2017-09-08

جدول دیگری برای ذخیره اطلاعات شخصی هر مشتری داریم که آن را Customer می نامیم.

customer_ID

CustomerName

CustomerAddress

1

Arman

Tehran

2

AliReza

Ahvaz

3

Behnam

Tabriz

4

Barbod

Sirjan

 همانطور که مشاهده می کنید اطلاعات نام و آدرس مشتری در یک جدول با نام Customer و اطلاعات مربوط به سفارش هر کاربر را در جدول دیگری به نام Order ذخیره کردیم. دو جدول فوق دارای یک فیلد مشترک با نام Customer_ID می باشند این فیلد در جدول Order مشخص می کند کدام مشتری این سفارش را ثبت کرد حال اگر به اطلاعات تماس این مشتری نیاز داشتیم می توانیم فیلدهای متناظر آن را از جدول Customer استخراج کنیم.

INNER JOIN:

SELECT * FROM customer_tbl INNER JOIN order_tbl ON customer_tbl.customer_ID = order_tbl.customer_ID;

 خروجی کوئری فوق با توجه به داده هایی که در جدول های این مثال وجود دارد به شکل زیر خواهد بود:

SQL INNER JOIN

LEFT JOIN:

SELECT * FROM customer_tbl LEFT JOIN order_tbl ON customer_tbl.customer_ID = order_tbl.customer_ID;

خروجی کوئری فوق به شکل زیر خواهد شد:

SQL LEFT JOIN

RIGHT JOIN:

SELECT * FROM customer_tbl RIGHT JOIN order_tbl ON customer_tbl.customer_ID = order_tbl.customer_ID;

SQL RIGHT JOIN

امیدوارم این پست برایتان مفید باشد. لطفا نظرات خود را با ما در میان بگذارید

انواع Join در SQL - 4.2 از 5 بر اساس 150 رای

امتیاز کاربران

انواع Join در SQL
دیدگاه‌ها
رها رها 3 ماه پیش
اسم اشخاص تو تیبل یه چیز بود تو کوئری چرا تغییر کرد؟ :|
حسین حسین 5 ماه پیش
خیلی خوب توضیح دادید با مثال و عکسی که گذاشتید
آرمان بابائی آرمان بابائی 5 ماه پیش
قربان شما. خوشحالیم که مورد پسند بوده.
داوود اکبری داوود اکبری 4 سال پیش
دمت گرم عکسی که گذاشتی همه چیو گفت مثال هم که جای خودش ممنون
آرمان بابائی آرمان بابائی 4 سال پیش
سپاس بابت فیدبک شما.

2024 © Copyright کليه حقوق مادی و معنوی براي چسبون محفوظ است و هرگونه کپی برداری پیگرد قانونی دارد.