MySQL'de esas olarak LEFT JOIN ve RIGHT JOIN adında iki tür birleştirme vardır. Bu birleşimler arasındaki temel fark, eşleşmeyen satırların dahil edilmesi . LEFT JOIN, sol taraftaki tüm kayıtları ve sağ tablodaki eşleşen satırları içerirken RIGHT JOIN, sağ taraftaki tüm satırları ve sol tablodaki eşleşmeyen satırları döndürür. Bu bölümde LEFT ve RIGHT birleştirme arasındaki popüler farkları öğreneceğiz. Karşılaştırmayı incelemeden önce, JOIN, LEFT JOIN ve RIGHT JOIN yan tümcelerini anlayalım. MySQL .
JOIN Cümlesi Nedir?
A katılmak birden çok tablodaki verileri sorgulamak için kullanılır ve bir koşul aracılığıyla iki veya daha fazla tablonun birleştirilmiş sonucunu döndürür. Birleştirme yan tümcesindeki koşul, sütunların belirtilen tablolar arasında nasıl eşleştirildiğini gösterir.
LEFT JOIN Cümlesi nedir?
Left join yan tümcesi iki veya daha fazla tabloyu birleştirir ve sol tablodaki tüm satırları ve sağ tablodaki eşleşen kayıtları döndürür veya eşleşen bir kayıt bulamazsa null değerini döndürür. Aynı zamanda şu şekilde de bilinir: Sol dış katılma . Dolayısıyla, Outer, Left join ile kullanılacak isteğe bağlı anahtar kelimedir.
Bunu aşağıdaki görsel anlatımla anlayabiliriz:
LEFT birleşimi hakkında daha fazla bilgi okumak için, buraya tıklayın .
DOĞRU KATILMA Maddesi nedir?
Right join yan tümcesi iki veya daha fazla tabloyu birleştirir ve sağ taraftaki tablodaki tüm satırları ve yalnızca diğer tablodaki belirtilen birleştirme koşulunu karşılayan sonuçları döndürür. Soldaki tablodan eşleşmeyen kayıtlar bulursa Null değerini döndürür. Aynı zamanda şu şekilde de bilinir: Sağ Dış Birleştirme . Dolayısıyla Outer, Right join ile kullanılacak isteğe bağlı maddedir.
Bunu aşağıdakilerle anlayabiliriz görsel sunum .
RIGHT JOIN hakkında daha fazla bilgi okumak için burayı tıklayın.
LEFT JOIN Maddesinin Sözdizimi
LEFT JOIN'in genel sözdizimi aşağıdadır:
SELECT column_list FROM table_name1 LEFT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
LEFT OUTER JOIN'in genel sözdizimi aşağıdadır:
SELECT column_list FROM table_name1 LEFT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
RIGHT JOIN Maddesinin Sözdizimi
RIGHT JOIN'in genel sözdizimi aşağıdadır:
SELECT column_list FROM table_name1 RIGHT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
RIGHT OUTER JOIN'in genel sözdizimi aşağıdadır:
SELECT column_list FROM table_name1 RIGHT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
SOL KATIL vs. SAĞ KATIL
Aşağıdaki karşılaştırma tablosu temel farklarını hızlı bir şekilde açıklamaktadır:
SOL YÖNDEN KATILIM | DOĞRU KATILIN |
---|---|
İki veya daha fazla tabloyu birleştirir, soldaki tablodaki tüm kayıtları ve sağdaki tablodaki eşleşen satırları döndürür. | İki veya daha fazla tabloyu birleştirmek için kullanılır, sağdaki tablodaki tüm kayıtları ve soldaki tablodaki eşleşen satırları döndürür. |
Sağ taraftaki tabloda eşleşen satır yoksa sonuç kümesi boş değer içerecektir. | Sol taraftaki tabloda eşleşen satır yoksa sonuç kümesi boş değer içerecektir. |
Aynı zamanda LEFT OUTER JOIN olarak da bilinir. | Aynı zamanda SAĞ DIŞ BİRLEŞTİRME olarak da adlandırılır. |
Örnek
Her iki birleştirme arasındaki farkları örneklerle anlayalım. Diyelim ki 'adlı bir tablomuz var' müşteri ' Ve ' emirler ' aşağıdaki verileri içerir:
Tablo: müşteri
Tablo: siparişler
LEFT JOIN Örneği
Aşağıdaki SQL ifadesi, LEFT JOIN sorgusunu kullanarak her iki tablodan eşleşen kayıtları döndürür:
SELECT cust_id, cust_name, order_num, order_date FROM customer LEFT JOIN orders ON customer.cust_id = orders.order_id WHERE order_date <'2020-04-30'; < pre> <p>After successful execution of the query, we will get the output as follows:</p> <img src="//techcodeview.com/img/mysql-tutorial/37/difference-between-left-join-5.webp" alt="Left Join vs Right Join"> <p> <strong>RIGHT JOIN Example</strong> </p> <p>Following SQL statement returns the matching records from both tables using the RIGHT JOIN query:</p> <pre> SELECT cust_id, cust_name, occupation, order_num, order_date FROM customer RIGHT JOIN orders ON cust_id = order_id ORDER BY order_date; </pre> <p>After successful execution of the query, we will get the output as follows:</p> <img src="//techcodeview.com/img/mysql-tutorial/37/difference-between-left-join-6.webp" alt="Left Join vs Right Join"> <hr></'2020-04-30';>
Sorgunun başarılı bir şekilde yürütülmesinden sonra çıktıyı aşağıdaki gibi alacağız:
'2020-04-30';>