A MySQL-nek kétféle csatlakozása van, ezek a LEFT JOIN és a RIGHT JOIN. A fő különbség ezen csatlakozások között az nem egyező sorok felvétele . A LEFT JOIN tartalmazza az összes rekordot a bal oldalról és a megfelelő sorokat a jobb oldali táblázatból, míg a RIGHT JOIN az összes sort a jobb oldalról adja vissza, és a páratlan sorokat a bal oldali táblázatból. Ebben a részben megismerjük a BAL és JOBB csatlakozás közötti népszerű különbségeket. Mielőtt megvizsgálnánk az összehasonlítást, először értsük meg a JOIN, LEFT JOIN és RIGHT JOIN záradékot MySQL .
Mi az a JOIN záradék?
A csatlakozik több tábla adatainak lekérdezésére szolgál, és két vagy több tábla kombinált eredményét adja vissza egy feltételen keresztül. Az összekapcsolási záradékban lévő feltétel jelzi, hogy az oszlopok hogyan illeszkednek a megadott táblákhoz.
Mi az a LEFT JOIN záradék?
A Left Join záradék két vagy több táblát egyesít, és visszaadja a bal oldali tábla összes sorát és a jobb oldali táblából az egyeztetett rekordokat, vagy nullát ad vissza, ha nem talál megfelelő rekordot. Úgy is ismert, mint Bal külső csatlakozás . Tehát a Külső az opcionális kulcsszó, amelyet a bal oldali csatlakozáshoz használunk.
A következő vizuális ábrázolással érthetjük meg:
Ha további információt szeretne olvasni a LEFT csatlakozásról, kattints ide .
Mi az a RIGHT JOIN záradék?
A Right Join záradék két vagy több táblát kapcsol össze, és a jobb oldali tábla összes sorát adja vissza, és csak azokat az eredményeket adja vissza a másik táblából, amelyek teljesítik a megadott összekapcsolási feltételt. Ha páratlan rekordokat talál a bal oldali táblában, akkor Null értéket ad vissza. Úgy is ismert, mint Jobb külső csatlakozás . Tehát az Outer az opcionális záradék, amelyet a Right Join-hoz kell használni.
A következőkkel érthetjük meg vizuális ábrázolás .
Ha többet szeretne megtudni a RIGHT JOIN-ről, kattintson ide.
A LEFT JOIN záradék szintaxisa
A következő a LEFT JOIN általános szintaxisa:
SELECT column_list FROM table_name1 LEFT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
A következő a LEFT OUTER JOIN általános szintaxisa:
SELECT column_list FROM table_name1 LEFT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
A RIGHT JOIN záradék szintaxisa
A következő a RIGHT JOIN általános szintaxisa:
SELECT column_list FROM table_name1 RIGHT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
A következő a RIGHT OUTER JOIN általános szintaxisa:
SELECT column_list FROM table_name1 RIGHT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
LEFT JOIN vs RIGHT JOIN
Az alábbi összehasonlító táblázat gyorsan elmagyarázza ezek főbb különbségeit:
BAL CSATLAKOZÁS | JOBB CSATLAKOZÁS |
---|---|
Összekapcsol két vagy több táblát, visszaadja az összes rekordot a bal oldali táblából, és a megfelelő sorokat a jobb oldali táblából. | Két vagy több tábla összekapcsolására szolgál, visszaadja az összes rekordot a jobb oldali táblából, és a megfelelő sorokat a bal oldali táblából. |
Az eredményhalmaz null értéket fog tartalmazni, ha a jobb oldali táblázatban nincs egyező sor. | Az eredményhalmaz null értéket fog tartalmazni, ha a bal oldali táblázatban nincs egyező sor. |
LEFT OUTTER JOIN néven is ismert. | RIGHT OUTTER JOIN-nek is nevezik. |
Példa
Példákon keresztül értsük meg a két csatlakozás közötti különbségeket. Tegyük fel, hogy van egy táblánk vevő ' és ' parancsokat ', amely a következő adatokat tartalmazza:
Asztal: vevő
Táblázat: rendelések
LEFT JOIN Példa
A következő SQL utasítás mindkét táblából visszaadja a megfelelő rekordokat a LEFT JOIN lekérdezéssel:
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';>
A lekérdezés sikeres végrehajtása után a következő kimenetet kapjuk:
'2020-04-30';>