MySQL має в основному два типи об’єднань, які називаються LEFT JOIN і RIGHT JOIN. Основна відмінність між цими об'єднаннями полягає в тому включення неспівпадаючих рядків . LEFT JOIN включає всі записи з лівої сторони та відповідні рядки з правої таблиці, тоді як RIGHT JOIN повертає всі рядки з правої сторони та невідповідні рядки з лівої таблиці. У цьому розділі ми познайомимося з популярними відмінностями між ЛІВИМ і ПРАВИМ з’єднанням. Перш ніж досліджувати порівняння, давайте спочатку розберемося з реченнями JOIN, LEFT JOIN і RIGHT JOIN MySQL .
Що таке речення JOIN?
А приєднатися використовується для запиту даних із кількох таблиць і повертає об’єднаний результат із двох чи більше таблиць через умову. Умова в пропозиції об’єднання вказує, як стовпці зіставляються між вказаними таблицями.
Що таке пропозиція LEFT JOIN?
Речення Left Join об’єднує дві або більше таблиць і повертає всі рядки з лівої таблиці та відповідні записи з правої таблиці або повертає значення null, якщо не знайдено жодного відповідного запису. Він також відомий як Ліве зовнішнє з'єднання . Отже, Outer є необов’язковим ключовим словом для використання з Left Join.
Ми можемо зрозуміти це за допомогою наступного візуального представлення:
Щоб прочитати більше інформації про об’єднання LEFT, натисніть тут .
Що таке речення RIGHT JOIN?
Речення Right Join об’єднує дві або більше таблиць і повертає всі рядки з правої таблиці та лише ті результати з іншої таблиці, які виконали вказану умову з’єднання. Якщо він знаходить невідповідні записи з лівої бічної таблиці, він повертає значення Null. Він також відомий як Праве зовнішнє з'єднання . Отже, Outer є необов’язковим пунктом для використання з Right Join.
Ми можемо зрозуміти це з наступного візуальне уявлення .
Щоб дізнатися більше про RIGHT JOIN, натисніть тут.
Синтаксис речення LEFT JOIN
Нижче наведено загальний синтаксис LEFT JOIN:
SELECT column_list FROM table_name1 LEFT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
Нижче наведено загальний синтаксис LEFT OUTER JOIN:
SELECT column_list FROM table_name1 LEFT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
Синтаксис пропозиції RIGHT JOIN
Нижче наведено загальний синтаксис RIGHT JOIN:
SELECT column_list FROM table_name1 RIGHT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
Нижче наведено загальний синтаксис RIGHT OUTER JOIN:
SELECT column_list FROM table_name1 RIGHT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
LEFT JOIN проти RIGHT JOIN
У наведеній нижче порівняльній таблиці коротко пояснюються їхні основні відмінності:
ЛІВОГО ПРИЄДНАННЯ | ПРАВО ПРИЄДНУЙТЕСЯ |
---|---|
Він об’єднує дві або більше таблиць, повертає всі записи з лівої таблиці та відповідні рядки з правої таблиці. | Він використовується для об’єднання двох або більше таблиць, повертає всі записи з правої таблиці та відповідні рядки з лівої таблиці. |
Набір результатів міститиме нульове значення, якщо в таблиці з правого боку немає відповідного рядка. | Набір результатів міститиме нульове значення, якщо в лівій бічній таблиці немає відповідного рядка. |
Він також відомий як LEFT OUTER JOIN. | Його також називають ПРАВИМ ЗОВНІШНІМ З'ЄДНАННЯМ. |
приклад
Давайте зрозуміємо відмінності між обома об’єднаннями на прикладах. Припустимо, у нас є таблиця з назвою ' клієнт 'і' замовлення ', що містить такі дані:
Таблиця: клієнт
Таблиця: замовлення
Приклад LEFT JOIN
Наступний оператор SQL повертає відповідні записи з обох таблиць за допомогою запиту LEFT JOIN:
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';>
Після успішного виконання запиту ми отримаємо наступний результат:
'2020-04-30';>