logo

Різниця між лівим та правим з’єднаннями

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';>

Після успішного виконання запиту ми отримаємо наступний результат:

Ліве з’єднання проти правого з’єднання