..
Kas žino, kokių žinių SQL yra JOIN. Mūsų vadovai ir kiti dirbiniai mes paaiškino, kaip prisijungti ir kaip jūs galite kurti ryšius tarp skirtingų lentelių duomenų bazėje.
Dažniausiai reikalavimas įvykdomas priemonė prisijungti prie susirasti rungtynės tarp dviejų lentelių, tokiu atveju gelbsti INNER JOIN sąlyga, kuri tiksliai suranda ir grąžina srityse, kurios atitinka susirašinėjimas siekė per dvi ar daugiau lentelių, dalyvaujančių į JOIN.
Daug mažiau intuityvi priešingai, kad reikia nustatyti sritis, kad neturite rungtynės JOIN.
Paimkime pavyzdžiu.
Tarkime, jūs norite valdyti iš e-komercijos duomenų bazė susideda tik iš dviejų lentelių:
Norėdami patenkinti pirmojo reikalavimo, žinoma, yra gana paprasta:
PASIRINKITE CUSTOMER.FIRST, CUSTOMER.LAST Iš klientų INNER JOIN Užsakymai ON = clienti.id ordini.id_cliente ORDER BY ASC CUSTOMER.LASTir kol kas jokių problemų.
Bet kaip mes galime padaryti, siekiant pakeisti rezultatą?
Na ...
Pirma, nenaudokite INNER JOIN, bet LEFT JOIN rasti visą rungtynių, o ne dalinis, tačiau jeigu atsiranda kairėje stalo yra grąžinami vistiek.
Be to, mes atrodys (naudojant WHERE) įrašai, trūksta (ty ne rasti pranešime), tada nustatyti kaip NULL (į SQL NULL yra apibrėžiamas kaip "ypatingos vertės" rūšis, kuri identifikuoja vertės nėra ..)
Pažiūrėkime kodas:
PASIRINKITE CUSTOMER.FIRST, CUSTOMER.LAST Iš klientų LEFT JOIN Užsakymai ON = clienti.id ordini.id_cliente KUR YRA NULL ordini.id_cliente ORDER BY ASC CUSTOMER.LASTRezultatas yra, tiesą sakant, vardų mūsų klientų, kurie niekada nepirko ir niekada nieko sąrašą.
| |
MS Access (Advanced)
Sužinokite, kaip kurti ir valdyti duomenų bazes greitai ir lengvai. Nuo 29 €. |
| |
MySQL (kurso)
Valdymas atviro kodo duomenų bazės. Nuo 39 €. |
| |
SQL ir duomenų bazės (kurso)
Kurkite ir tvarkykite reliacinėse duomenų bazėse. Nuo 39 €. |