Ліве з'єднання в MySQL використовується для запиту записів із кількох таблиць. Це речення схоже на речення Inner Join, яке можна використовувати з інструкцією SELECT відразу після ключового слова FROM. Коли ми використовуємо пропозицію Left Join, вона повертає всі записи з першої (лівосторонньої) таблиці, навіть не знайдено жодного відповідного запису з другої (правої) таблиці. Якщо він не знайде жодного відповідного запису з правої бічної таблиці, повертає значення null.
jquery цього клацання
Іншими словами, речення Left Join повертає всі рядки з лівої таблиці та відповідні записи з правої таблиці або повертає Null, якщо відповідного запису не знайдено. Це об'єднання також можна назвати a Ліве зовнішнє з'єднання пункт. Отже, Outer є необов’язковим ключовим словом для використання з Left Join.
Ми можемо зрозуміти це за допомогою наступного візуального представлення, де Left Joins повертає всі записи з лівої таблиці та лише відповідні записи з правої бічної таблиці:
Синтаксис MySQL LEFT JOIN
Наступний синтаксис пояснює речення Left Join для об’єднання двох або більше таблиць:
SELECT columns FROM table1 LEFT [OUTER] JOIN table2 ON Join_Condition;
У наведеному вище синтаксисі таблиця1 — ліва таблиця, і таблиця2 це таблиця справа. Цей пункт повертає всі записи з таблиці1 та відповідні записи з таблиці2 на основі вказаного умова приєднання .
Приклад MySQL LEFT JOIN
Розглянемо кілька прикладів, щоб зрозуміти, як працює речення Left Join або Left Outer Join:
Речення LEFT JOIN для об’єднання двох таблиць
Тут ми створимо дві таблиці ' клієнтів і ' замовлення який містить такі дані:
Таблиця: клієнти
Таблиця: замовлення
Щоб вибрати записи з обох таблиць, виконайте такий запит:
SELECT customers.customer_id, cust_name, price, date FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id;
Після успішного виконання запиту він видасть наступний результат:
MySQL LEFT JOIN з пропозицією USING
Таблиця клієнтів і замовлень має однакову назву стовпця, тобто customer_id. У цьому випадку MySQL Left Join також можна використовувати з пропозицією USING для доступу до записів. Наступний оператор повертає ідентифікатор клієнта, ім’я клієнта, професію, ціну та дату за допомогою пропозиції Left Join із ключовим словом USING.
SELECT customer_id, cust_name, occupation, price, date FROM customers LEFT JOIN orders USING(customer_id);
Наведений вище оператор дасть наступний результат:
MySQL LEFT JOIN з пропозицією Group By
Об’єднання зліва також можна використовувати з пропозицією GROUP BY. Наступний оператор повертає ідентифікатор клієнта, ім’я клієнта, кваліфікацію, ціну та дату за допомогою речення Left Join із реченням GROUP BY.
SELECT customers.customer_id, cust_name, qualification, price, date FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id GROUP BY price;
Наведений вище оператор дасть наступний результат:
LEFT JOIN з реченням WHERE
Речення WHERE використовується для повернення фільтр результат з табл. Наступний приклад ілюструє це з пропозицією Left Join:
ціле число в рядок
SELECT customer_id, cust_name, occupation, price, date FROM customers LEFT JOIN orders USING(customer_id) WHERE price>2500;
Це твердження дає наступний результат:
MySQL LEFT JOIN Кілька таблиць
Ми вже створили дві таблиці з назвою ' клієнтів і ' замовлення . Давайте створимо ще одну таблицю і назвемо її як ' контакти», який містить такі дані:
Виконайте наступний оператор, щоб об’єднати три таблиці клієнти, замовлення та контакти:
SELECT customers.customer_id, cust_name, order_id, price, cellphone FROM customers LEFT JOIN contacts ON customer_id = contact_id LEFT JOIN orders ON customers.customer_id = orders.customer_id ORDER BY income;
Після успішного виконання наведеного вище запиту він видасть наступний результат:
Використання пропозиції LEFT JOIN для отримання невідповідних записів
Речення LEFT JOIN також корисно в тому випадку, коли ми хочемо отримати записи в таблиці, яка не містить відповідних рядків даних з іншої таблиці.
Ми можемо зрозуміти це за допомогою наступного прикладу, у якому використовується речення LEFT JOIN для пошуку клієнта, який не має номера мобільного телефону:
SELECT customer_id, cust_name, cellphone, homephone FROM customers LEFT JOIN contacts ON customer_id = contact_id WHERE cellphone IS NULL ;
Наведений вище оператор повертає такий результат:
Різниця між реченнями WHERE і ON у MySQL LEFT JOIN
У LEFT Join умова WHERE і ON дає інший результат. Ми можемо побачити наступні запити, щоб зрозуміти їхні відмінності:
Речення WHERE
SELECT cust_name, occupation, order_id, price, date FROM customers LEFT JOIN orders USING(customer_id) WHERE price=2500;
Це дасть такий результат, який повертає:
Речення ON
SELECT cust_name, occupation, order_id, price, date FROM customers LEFT JOIN orders ON price=2500;
Це дасть наступний результат: