..


Sponzorirani linkovi

Nasuprot INNER JOIN ili pribaviti evidencija se ne podudaraju

Članak je napisao Max Bossi

Tko zna što znanje o SQL JOIN. U našim vodičima i člancima mi je objasnio kako se pridruže i kako možete stvoriti odnose između različitih tablica u bazi podataka.

Najčešći uvjet je zadovoljan instrument PRIDRUŽITE pronaći utakmica između dvije tablice, u kojem slučaju pomaže INNER JOIN klauzula koja je upravo smješta i vraća polja koje zadovoljavaju dopisivanje traži u roku od dvije ili više tablica uključene u JOIN.

Mnogo manje intuitivno je potreba da se identificiraju polja koja inače nemaju utakmicu u JOIN.

Evo primjer.
Pretpostavimo da imate za upravljanje bazom podataka o e-commerce sastoji se od samo dvije tablice:

  • kupci (koji sadrži matični podaci kupaca)
  • naloga (s naloga od strane korisnika)
Sada pretpostavimo da želite izdvojiti dva različita popisa klijenata: 1) popis kupaca koji su već postavljeni red, 2) popis kupaca koji još nisu kupili ništa.

Kako bi se zadovoljili prvi uvjet, naravno, je vrlo jednostavan:

 



 SELECT CUSTOMER.FIRST, CUSTOMER.LAST







 Od kupaca







 INNER JOIN Narudžbe







 O = clienti.id ordini.id_cliente







 ORDER BY ASC CUSTOMER.LAST

 
i do sada nema problema.

Ali kako možemo učiniti da preokrenu rezultat? Pa ... Prvo, ne koristite LEFT JOIN, INNER JOIN, ali radi pronalaženja utakmicu nije pun, ali djelomično, gdje je, međutim, proizlazi iz lijeve tablice se vraćaju anyway.
Bez toga ćemo tražiti (koristeći WHERE) nema zapisa (tj. ne nalazi se u izvješću), a zatim identificirao kao NULL (u SQL NULL definirana je kao neka vrsta "posebne vrijednosti" koji označava odsutnost vrijednosti ..)

Pogledajmo kod:

 



 SELECT CUSTOMER.FIRST, CUSTOMER.LAST







 Od kupaca







 LEFT JOIN Narudžbe







 O = clienti.id ordini.id_cliente







 GDJE JE NULL ordini.id_cliente







 ORDER BY ASC CUSTOMER.LAST

 
Rezultat je, u stvari, popis imena kupaca koji nikad nisu kupili ništa.

U istoj kategoriji ...
E-učenje
MS Access (tečaj) MS Access (tečaj)
Saznajte kako stvoriti i upravljati bazama podataka jednostavno i brzo. Počevši od 29 €.
MySQL (tečaj) MySQL (tečaj)
Upravljanje open-source baza podataka. Počevši od 39 €.
SQL i baze podataka (tečaj) SQL i baze podataka (tečaj)
Stvaranje i upravljanje relacijskim bazama podataka. Počevši od 39 €.
Sponzorirani linkovi