با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره آموزش کامل SQL را دنبال می کنند. گاهی ممکن است لازم شود که از دستور JOIN فقط در یک جدول استفاده کنید. مثلا ممکن است بخواهید در یک دستور SQL ، رکوردهای یک جدول بصورت دو به دو، با هم مقایسه شوند. یکی از کاربردهای اینکار این است. که رکوردهایی از جدول را بر گردانید، که مقدار یک فیلد آن ها برابر بوده و مقدار یک فیلد در آن ها برابر نباشد. برای درک بهتر این موضوع ، در ادامه ی بخش آشنایی با دستور Self JOIN در SQL ، با ماه همراه باشید.
دستور Self JOIN یکی از زیر مجموعه های دستور JOIN است، با این تفاوت عمده، که یک جدول را با خودش، ارتباط می دهد!
ساختار دستور Self JOIN:
1 2 3 | SELECT column_name(s) FROM table1 T1, table1 T2 WHERE condition; |
در این قسمت، به بخشی از رکوردهای یک جدول که در مثال های این آموزش، از آن، استفاده خواهیم کرد، اشاره می کنیم.
بخشی از رکوردهای جدول “Customers” :
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
۱ | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | ۱۲۲۰۹ | Germany |
۲ | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | ۰۵۰۲۱ | Mexico |
۳ | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | ۰۵۰۲۳ | Mexico |
مثال:
رکوردهای را از جدول customers بر می گرداند که مقدار فیلد city آن ها برابر بوده و فیلد CustomerID آن ها نیز متفاوت باشد:
1 2 3 4 5 | SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.City FROM Customers A, Customers B WHERE A.CustomerID <> B.CustomerID AND A.City = B.City ORDER BY A.City; |
دستور Self JOIN ، تنها دستوری از زیر مجموعه های JOIN است، که فقط روی یک جدول اعمال می شود. یا به عبارتی دیگر یک جدول را با خودش ارتباط می دهد. این دستور بیشتر برای مقایسه ی همزمان دو یا چند رکورد در یک جدول، کاربرد دارد. امیدواریم که بخوبی از مباحث آموزش آشنایی با دستور Self JOIN در SQL استفاده کرده باشید.