SQL LEFT JOIN TUTORIAL - Návod na použití LEFT JOIN v mysql

 

V TOMTO TUTORIALU PROVEDEME DOTAZ NA CENU OVOCE PRVNÍ JAKOSTI.

Úvod

V tomto tutoriálu se naučíte používat LEFT JOIN v SQL pro spojování dat z různých tabulek. Ukážeme si, jak LEFT JOIN funguje na konkrétním příkladu spojení tabulek "ovoce" a "ceny" s ohledem na různé jakosti ovoce.

Příkladový úkol

Předpokládejme, že máme dvě tabulky v naší databázi:

  1. Tabulka "ovoce", která obsahuje informace o různých typech ovoce a jejich kvalitě.
  2. Tabulka "ceny", která obsahuje informace o cenách různých druhů ovoce v závislosti na jejich kvalitě.

Naším úkolem je spojit tyto dvě tabulky pomocí LEFT JOIN a získat všechny záznamy o ovoce první jakosti a jejich ceny, pokud jsou k dispozici.

Kód k provedení

Nejprve si připravíme obě tabulky:

sql
CREATE TABLE ovoce ( id INT PRIMARY KEY, fruit VARCHAR(50), quality VARCHAR(10) ); CREATE TABLE ceny ( fruit VARCHAR(50), quality VARCHAR(10), price DECIMAL(10,2) ); INSERT INTO ovoce (id, fruit, quality) VALUES (1, 'Jablko', 'I'), (2, 'Jablko', 'II'), (3, 'Hruška', 'I'), (4, 'Hruška', 'II'), (5, 'Hruška', 'III'), (6, 'Třešeň', 'I'); INSERT INTO ceny (fruit, quality, price) VALUES ('Jablko', 'I', 10.00), ('Jablko', 'II', 8.00), ('Hruška', 'I', 12.00), ('Hruška', 'II', 9.00), ('Hruška', 'III', 7.00), ('Třešeň', 'I', 15.00);

Nyní provedeme LEFT JOIN mezi tabulkami "ovoce" a "ceny":

sql
SELECT o.id, o.fruit, o.quality, c.price FROM ovoce o LEFT JOIN ceny c ON o.fruit = c.fruit AND o.quality = c.quality WHERE o.quality = 'I';

Výsledek

Výsledkem bude seznam ovoce první jakosti a jejich ceny, pokud jsou k dispozici v tabulce "ceny":

+----+---------+---------+-------+ | id | fruit | quality | price | +----+---------+---------+-------+ | 1 | Jablko | I | 10.00| | 3 | Hruška | I | 12.00| | 6 | Třešeň | I | 15.00| +----+---------+---------+-------+

Závěr

LEFT JOIN je užitečný nástroj pro spojování dat z různých tabulek v SQL. V tomto tutoriálu jsme ukázali, jak použít LEFT JOIN k získání všech záznamů z jedné tabulky a případně odpovídajících záznamů z druhé tabulky, a to i tehdy, když odpovídající záznamy chybí.

Komentáře

Oblíbené příspěvky