..
Kto vie, čo znalosť SQL JOIN. V našom sprievodcovi a iné výrobky sme vysvetlili, ako sa spojiť a ako si môžete vytvoriť vzťahy medzi rôznymi tabuľkami v databáze.
Najčastejšie požiadavka je splnená JOIN nástroj pre nájdenie záznamov, medzi dvoma tabuľkami, v takom prípade pomáha INNER JOIN klauzula, ktorá presne lokalizuje a vracia pole, ktoré spĺňajú korešpondencie snažil do dvoch alebo viacerých zúčastnených tabuliek v spojení.
Oveľa menej intuitívne, je potrebné, aby stanovili oblasti, ktoré inak nemajú zápas v rámci spojenia.
Zoberme si príklad.
Predpokladajme, že máte pre správu databázy e-commerce skladá len z dvoch tabuliek:
Na splnenie prvej požiadavku, samozrejme, je celkom jednoduchý:
SELECT CUSTOMER.FIRST, CUSTOMER.LAST Z zákazníkov INNER JOIN Objednávky ON = clienti.id ordini.id_cliente ORDER BY ASC CUSTOMER.LASTa zatiaľ žiadny problém.
Ale ako môžeme urobiť pre to, zvrátiť výsledok?
No ...
Po prvé, nepoužívajte LEFT JOIN, INNER JOIN, ale za účelom nájdenia zápasu nie je plná, ale čiastočné, kde sú však výsledky z ľavej tabuľky sa vrátil tak ako tak.
Bez tohto budeme hľadať (pomocou klauzuly WHERE), chýba záznamy (tj nie nájsť v správe) a potom označené za NULL (v NULL SQL je definovaný ako druh "osobitnú hodnotu", ktorá identifikuje absencia hodnoty ..)
Pozrime sa na kód:
SELECT CUSTOMER.FIRST, CUSTOMER.LAST Z zákazníkov LEFT JOIN Objednávky ON = clienti.id ordini.id_cliente KDE SA NULL ordini.id_cliente ORDER BY ASC CUSTOMER.LASTVýsledkom je, v skutočnosti, že menný zoznam zákazníkov, ktorí si nikdy nič nekúpil.
| |
MS Access (kurz)
Naučte sa vytvárať a spravovať databázy jednoducho a rýchlo. Od 29 €. |
| |
MySQL (kurz)
Správa open-source databázu. Od 39 €. |
| |
SQL a databázy (kurz)
Vytváranie a správa relačnej databázy. Od 39 €. |