اتصالات (Joins) در MySQL

اتصالات (Joins) در MySQL
اتصالات در MySQL برای بازیابی دادهها از چندین جدول بر اساس یک ستون مشترک استفاده میشوند. انواع مختلف JOIN در MySQL عبارتند از:
1. INNER JOIN (اتصال داخلی)
فقط رکوردهایی را که مقدار مشترک در هر دو جدول دارند، بازمیگرداند.
SELECT A.column1, B.column2
FROM TableA A
INNER JOIN TableB B ON A.common_column = B.common_column;
2. LEFT JOIN (اتصال چپ یا خارجی چپ)
تمام رکوردهای جدول سمت چپ و رکوردهای مطابق از جدول سمت راست را بازمیگرداند. اگر مطابقتی نباشد، مقدار NULL برای ستونهای جدول سمت راست نمایش داده میشود.
SELECT A.column1, B.column2
FROM TableA A
LEFT JOIN TableB B ON A.common_column = B.common_column;
3. RIGHT JOIN (اتصال راست یا خارجی راست)
تمام رکوردهای جدول سمت راست و رکوردهای مطابق از جدول سمت چپ را بازمیگرداند. اگر مطابقتی نباشد، مقدار NULL برای ستونهای جدول سمت چپ نمایش داده میشود.
SELECT A.column1, B.column2
FROM TableA A
RIGHT JOIN TableB B ON A.common_column = B.common_column;
4. FULL JOIN (اتصال کامل یا خارجی کامل) [پشتیبانی نشده در MySQL]
MySQL بهطور مستقیم از FULL OUTER JOIN پشتیبانی نمیکند، اما میتوان آن را با ترکیب LEFT JOIN
و RIGHT JOIN
شبیهسازی کرد.
SELECT A.column1, B.column2
FROM TableA A
LEFT JOIN TableB B ON A.common_column = B.common_column
UNION
SELECT A.column1, B.column2
FROM TableA A
RIGHT JOIN TableB B ON A.common_column = B.common_column;
5. CROSS JOIN (اتصال ضربدری یا کارتزین)
تمام ترکیبهای ممکن از رکوردهای هر دو جدول را بازمیگرداند.
SELECT A.column1, B.column2
FROM TableA A
CROSS JOIN TableB B;
6. SELF JOIN (اتصال به خود)
در این روش، یک جدول به خودش متصل میشود.
SELECT A.column1, B.column2
FROM TableA A
JOIN TableA B ON A.common_column = B.common_column;
دیدگاهتان را بنویسید