inner join vs outer join
Unutarnje pridruživanje vs vanjsko spajanje: Pripremite se za istraživanje točnih razlika između unutarnjeg i vanjskog spajanja
Prije nego što istražimo razlike između Unutarnjeg pridruživanja i Spoljnog pridruživanja, prvo da vidimo što je SQL PRIDRUŽIVANJE?
Klauzula pridruživanja koristi se za kombiniranje zapisa ili za manipulaciju zapisima iz dvije ili više tablica kroz uvjet pridruživanja. Uvjet pridruživanja pokazuje kako se međusobno podudaraju stupci iz svake tablice.
Pridruživanje se temelji na povezanom stupcu između ovih tablica. Najčešći primjer je spajanje dviju tablica kroz stupac primarnog ključa i stupac stranog ključa.
Pretpostavimo da imamo tablicu koja sadrži plaću zaposlenika, a postoji još jedna tablica koja sadrži detalje o zaposleniku.
U ovom će slučaju biti zajednički stupac poput ID-a zaposlenika koji će se pridružiti ove dvije tablice. Ovaj stupac ID-a zaposlenika bio bi primarni ključ tablica detalja o zaposleniku i inozemni ključ u tablici plaća zaposlenika.
Vrlo je važno imati zajednički ključ između dva entiteta. Tablicu možete smatrati entitetom, a ključ kao zajedničku vezu između dviju tablica koja se koristi za operaciju spajanja.
kako otvoriti swf datoteku na chrome -
U osnovi postoje dvije vrste Pridruživanja u SQL-u, tj. Unutarnje i vanjsko spajanje . Vanjsko spajanje dalje se dijeli na tri vrste, tj. Lijevo vanjsko pridruživanje, desno vanjsko pridruživanje i potpuno vanjsko pridruživanje.
U ovom ćemo članku vidjeti razliku između Unutarnje i vanjsko spajanje detaljno. Udruženi i nejednaki udruživat ćemo izvan okvira ovog članka.
Što ćete naučiti:
- Što je Inner Join?
- Što je vanjsko pridruživanje?
- Razlika između unutarnjeg i vanjskog spajanja
- Izvođenje
- MS Access unutarnje i vanjsko spajanje
- Lijevo pridruživanje vs Lijevo vanjsko pridruživanje
- Lijevo vanjsko pridruživanje vs Desno vanjsko pridruživanje
- Razlika između unutarnjeg i vanjskog spajanja u tabličnom formatu
- Unutarnje i vanjsko pridruživanje vs Union
- Zaključak
- Preporučena literatura
Što je Inner Join?
Unutarnje pridruživanje vraća samo retke koji imaju podudarne vrijednosti u obje tablice (ovdje razmatramo da se spajanje vrši između dvije tablice).
Što je vanjsko pridruživanje?
Vanjsko pridruživanje uključuje odgovarajuće retke, kao i neke nepodudarajuće retke između dvije tablice. Vanjsko pridruživanje u osnovi se razlikuje od unutarnjeg pridruživanja po tome što obrađuje uvjet lažnog podudaranja.
Postoje 3 vrste vanjskog pridruživanja:
- Lijevo vanjsko pridruživanje : Vraća sve retke s LIJEVE tablice i odgovarajuće zapise između obje tablice.
- Desno vanjsko pridruživanje : Vraća sve retke iz DESNE tablice i odgovarajuće zapise između obje tablice.
- Potpuno vanjsko pridruživanje : Kombinira rezultat lijevog vanjskog spajanja i desnog vanjskog spajanja.
Razlika između unutarnjeg i vanjskog spajanja
(slika izvor )
Kao što je prikazano na gornjem dijagramu, postoje dva entiteta, tj. Tablica 1 i tablica 2, a obje tablice dijele neke zajedničke podatke.
Unutarnje pridruživanje vratit će zajedničko područje između ovih tablica (zeleno zasjenjeno područje na gornjem dijagramu), tj. Sve zapise koji su zajednički između tablice 1 i tablice 2.
Lijevo vanjsko spajanje vratit će sve retke iz tablice 1 i samo one retke iz tablice 2 koji su također zajednički tablici 1. Ispravno vanjsko pridruživanje učinit će upravo suprotno. Dat će sve zapise iz tablice 2 i samo odgovarajuće odgovarajuće zapise iz tablice 1.
Nadalje, potpuno vanjsko pridruživanje pružit će nam sve zapise iz tablice 1 i tablice 2.
Krenimo od primjera da to pojasnimo.
Pretpostavimo da imamo dvije stolovi: EmpDetails i EmpSalary .
Tablica EmpDetails:
EmployeeID | Ime zaposlenika |
7 | Ljiljan |
1 | Ivan |
dva | Samantha |
3 | Nijedna |
4 | Svilenkasta |
5 | Radna memorija |
6 | Arpit |
8 | Sita |
9 | Farah |
10 | Jerry |
Tablica plaće:
EmployeeID | Ime zaposlenika | Plata zaposlenika |
---|---|---|
jedanaest | Ruža | 90000 |
1 | Ivan | 50.000 |
dva | Samantha | 120000 |
3 | Nijedna | 75000 |
4 | Svilenkasta | 25000 |
5 | Radna memorija | 150000 |
6 | Arpit | 80000 |
12 | Sakshi | 45000 |
13 | Utičnica | 250.000 |
Napravimo unutarnje spajanje na ove dvije tablice i promatrajmo rezultat:
Upit:
SELECT EmpDetails. EmployeeID, EmpDetails. EmployeeName, EmpSalary. EmployeeSalary FROM EmpDetails INNER JOIN EmpSalary ON EmpDetails. EmployeeID = EmpSalary. EmployeeID;
Proizlaziti:
EmployeeID | Ime zaposlenika | Plata zaposlenika |
---|---|---|
7 | Ljiljan | NULL |
1 | Ivan | 50.000 |
dva | Samantha | 120000 |
3 | Nijedna | 75000 |
4 | Svilenkasta | 25000 |
5 | Radna memorija | 150000 |
6 | Arpit | 80000 |
U gornjem skupu rezultata možete vidjeti da je Inner Join vratio prvih 6 zapisa koji su bili prisutni i u EmpDetails i EmpSalary koji imaju odgovarajući ključ, tj. EmployeeID. Dakle, ako su A i B dva entiteta, Unutarnje pridruživanje vratit će skup rezultata koji će biti jednak 'Zapisima u A i B', na temelju odgovarajućeg ključa.
Pogledajmo sada što će učiniti lijevo vanjsko pridruživanje.
Upit:
SELECT EmpDetails. EmployeeID, EmpDetails. EmployeeName, EmpSalary. EmployeeSalary FROM EmpDetails LEFT JOIN EmpSalary ON EmpDetails. EmployeeID = EmpSalary. EmployeeID;
Proizlaziti:
EmployeeID | Ime zaposlenika | Plata zaposlenika |
---|---|---|
1 | Ivan | 50.000 |
dva | Samantha | 120000 |
3 | Nijedna | 75000 |
4 | Svilenkasta | 25000 |
5 | Radna memorija | 150000 |
6 | Arpit | 80000 |
8 | Sita | NULL |
9 | Farah | NULL |
10 | Jerry | NULL |
U gornjem skupu rezultata možete vidjeti da je lijevo vanjsko spajanje vratilo svih 10 zapisa iz LIJEVE tablice, tj. Tablice EmpDetails, a kako se podudara prvih 6 zapisa, vratilo je plaću zaposlenika za te odgovarajuće zapise.
Kako ostali zapisi nemaju odgovarajući ključ u DESNOJ tablici, tj. Tablici EmpSalary, vratio je NULL koji odgovara tim. Budući da Lily, Sita, Farah i Jerry nemaju odgovarajući ID zaposlenika u tablici EmpSalary, njihova se plaća u skupu rezultata prikazuje kao NULL.
Dakle, ako su A i B dva entiteta, tada će lijevo vanjsko spajanje vratiti skup rezultata koji će biti jednak 'Zapisima u A NOT B', na temelju odgovarajućeg ključa.
Promotrimo sada što čini Pravo vanjsko pridruživanje.
Upit:
SELECT EmpDetails. EmployeeID, EmpDetails. EmployeeName, EmpSalary. EmployeeSalary FROM EmpDetails RIGHT join EmpSalary ON EmpDetails. EmployeeID = EmpSalary. EmployeeID;
Proizlaziti:
EmployeeID | Ime zaposlenika | Plata zaposlenika |
---|---|---|
NULL | NULL | 90000 |
1 | Ivan | 50.000 |
dva | Samantha | 120000 |
3 | Nijedna | 75000 |
4 | Svilenkasta | 25000 |
5 | Radna memorija | 150000 |
6 | Arpit | 80000 |
NULL | NULL | 250.000 |
NULL | NULL | 250.000 |
U gornjem skupu rezultata možete vidjeti da je Desno vanjsko spajanje učinilo upravo suprotno od lijevog spajanja. Vratila je sve plaće s pravog stola, tj. Tablice s plaćama.
No, kako Rose, Sakshi i Jack nemaju odgovarajući ID zaposlenika u lijevoj tablici, tj. Tablici EmpDetails, iz lijeve smo tablice dobili njihov ID zaposlenika i EmployeeName kao NULL.
Dakle, ako su A i B dva entiteta, tada će pravo vanjsko spajanje vratiti skup rezultata koji će biti jednak 'Zapisima u B NE A', na temelju odgovarajućeg ključa.
Pogledajmo i kakav će biti skup rezultata ako radimo odabranu operaciju na svim stupcima u obje tablice.
Upit:
SELECT * FROM EmpDetails RIGHT JOIN EmpSalary ON EmpDetails. EmployeeID = EmpSalary. EmployeeID;
Proizlaziti:
EmployeeID | Ime zaposlenika | EmployeeID | Ime zaposlenika | Plata zaposlenika |
---|---|---|---|---|
NULL | NULL | jedanaest | Ruža | 90000 |
1 | Ivan | 1 | Ivan | 50.000 |
dva | Samantha | dva | Samantha | 120000 |
3 | Nijedna | 3 | Nijedna | 75000 |
4 | Svilenkasta | 4 | Svilenkasta | 25000 |
5 | Radna memorija | 5 | Radna memorija | 150000 |
6 | Arpit | 6 | Arpit | 80000 |
NULL | NULL | 12 | Sakshi | 250.000 |
NULL | NULL | 13 | Utičnica | 250.000 |
Sada, krenimo u Full Join.
Potpuno vanjsko spajanje vrši se kada želimo sve podatke iz obje tablice, bez obzira na to postoji li podudaranje ili ne. Stoga, ako želim sve zaposlenike, čak i ako ne pronađem odgovarajući ključ, pokrenut ću upit kao što je prikazano u nastavku.
Upit:
SELECT * FROM EmpDetails FULL JOIN EmpSalary ON EmpDetails. EmployeeID = EmpSalary. EmployeeID;
Proizlaziti:
EmployeeID | Ime zaposlenika | EmployeeID | Ime zaposlenika | Plata zaposlenika |
---|---|---|---|---|
7 | Ljiljan | NULL | NULL | NULL |
1 | Ivan | 1 | Ivan | 50.000 |
dva | Samantha | dva | Samantha | 120000 |
3 | Nijedna | 3 | Nijedna | 75000 |
4 | Svilenkasta | 4 | Svilenkasta | 25000 |
5 | Radna memorija | 5 | Radna memorija | 150000 |
6 | Arpit | 6 | Arpit | 80000 |
8 | Sita | NULL | NULL | NULL |
9 | Farah | NULL | NULL | NULL |
10 | Jerry | NULL | NULL | NULL |
NULL | NULL | jedanaest | Ruža | 90000 |
NULL | NULL | 12 | Sakshi | 250.000 |
NULL | NULL | 13 | Utičnica | 250.000 |
Iz gornjeg skupa rezultata možete vidjeti da kako se prvih šest zapisa podudara u obje tablice, dobili smo sve podatke bez ikakvog NULL-a. Sljedeća četiri zapisa postoje u lijevoj tablici, ali ne i u desnoj, stoga su odgovarajući podaci u desnoj tablici NULL.
Posljednja tri zapisa postoje u desnoj, a ne u lijevoj tablici, stoga imamo NULL u odgovarajućim podacima iz lijeve tablice. Dakle, ako su A i B dva entiteta, potpuno vanjsko udruživanje vratit će skup rezultata koji će biti jednak 'Zapisima u A I B', bez obzira na odgovarajući ključ.
Teoretski, to je kombinacija lijevog i desnog spajanja.
Izvođenje
Usporedimo unutarnje pridruživanje s lijevim vanjskim spajanjem na SQL poslužitelju. Govoreći o brzini rada, lijevi vanjski JOIN očito nije brži od unutarnjeg spajanja.
Prema definiciji, vanjsko spajanje, bilo lijevo ili desno, mora izvesti sav posao unutarnjeg spajanja, zajedno s dodatnim radom, nuliranjem rezultata. Očekuje se da će vanjsko spajanje vratiti veći broj zapisa što dodatno povećava njegovo ukupno vrijeme izvršavanja samo zbog većeg skupa rezultata.
Dakle, vanjski spoj je sporiji od unutarnjeg.
Štoviše, mogu postojati neke specifične situacije u kojima će lijevo spajanje biti brže od unutarnjeg, ali ne možemo ih zamijeniti međusobno jer lijevo vanjsko spajanje funkcionalno nije ekvivalentno unutarnjem spajanju.
Razgovarajmo o primjeru gdje bi lijevo pridruživanje moglo biti brže od unutarnjeg. Ako su tablice uključene u operaciju pridruživanja premale, recimo da imaju manje od 10 zapisa i tablice nemaju dovoljno indeksa da pokriju upit, u tom je slučaju lijevo pridruživanje obično brže od unutarnjeg pridruživanja.
ups koncepti u c # s primjerima
Stvorimo dvije donje tablice i kao primjer napravimo UNUTARNJE PRIDRUŽIVANJE i LIJEVO VANJSKO PRIDRUŽIVANJE:
CREATE TABLE #Table1 ( ID int NOT NULL PRIMARY KEY, Name varchar(50) NOT NULL ) INSERT #Table1 (ID, Name) VALUES (1, 'A') INSERT #Table1 (ID, Name) VALUES (2, 'B') INSERT #Table1 (ID, Name) VALUES (3, 'C') INSERT #Table1 (ID, Name) VALUES (4, 'D') INSERT #Table1 (ID, Name) VALUES (5, 'E') CREATE TABLE #Table2 ( ID int NOT NULL PRIMARY KEY, Name varchar(50) NOT NULL ) INSERT #Table2 (ID, Name) VALUES (1, 'A') INSERT #Table2 (ID, Name) VALUES (2, 'B') INSERT #Table2 (ID, Name) VALUES (3, 'C') INSERT #Table2 (ID, Name) VALUES (4, 'D') INSERT #Table2 (ID, Name) VALUES (5, 'E') SELECT * FROM #Table1 t1 INNER JOIN #Table2 t2 ON t2.Name = t1.Name
iskaznica | Ime | iskaznica | Ime | |
---|---|---|---|---|
Ispod je vizualizacija unutarnjeg spajanja: | Ispod je vizualizacija vanjskog spoja | |||
1 | 1 | DO | 1 | DO |
dva | dva | B | dva | B |
3 | 3 | C | 3 | C |
4 | 4 | D | 4 | D |
5 | 5 | JE | 5 | JE |
SELECT * FROM (SELECT 38 AS bah) AS foo JOIN (SELECT 35 AS bah) AS bar ON (55=55);
iskaznica | Ime | iskaznica | Ime | |
---|---|---|---|---|
1 | 1 | DO | 1 | DO |
dva | dva | B | dva | B |
3 | 3 | C | 3 | C |
4 | 4 | D | 4 | D |
5 | 5 | JE | 5 | JE |
Kao što vidite gore, oba upita vratila su isti skup rezultata. U ovom slučaju, ako pregledate plan izvršenja oba upita, otkrit ćete da je unutarnje spajanje koštalo više od vanjskog. To je zato što se za unutarnje spajanje SQL poslužitelj podudara s raspršivanjem, dok ugniježđene petlje za lijevo spajanje.
Hash podudaranje je obično brže od ugniježđenih petlji. Ali, u ovom slučaju, budući da je broj redaka tako malen i da nema indeksa za korištenje (kao što radimo spajanje na stupcu imena), operacija raspršivanja ispala je najskuplji unutarnji upit za pridruživanje.
Međutim, ako promijenite podudarni ključ u upitu za pridruživanje iz Imena u ID i ako je u tablici velik broj redaka, tada ćete otkriti da će unutarnje spajanje biti brže od lijevog vanjskog spajanja.
MS Access unutarnje i vanjsko spajanje
Kada koristite više izvora podataka u upitu MS Access, tada primjenjujete JOIN-ove za kontrolu zapisa koje želite vidjeti, ovisno o tome kako su izvori podataka međusobno povezani.
U unutarnjem spajanju, samo srodni iz obje tablice kombiniraju se u jedan skup rezultata. Ovo je zadano pridruživanje u programu Access i najčešće korišteno. Ako primijenite pridruživanje, ali ne izričito odredite koja je to vrsta pridruživanja, tada Access pretpostavlja da je to unutarnje pridruživanje.
U vanjskim spajanjima, svi povezani podaci iz obje tablice pravilno su kombinirani, plus svi preostali retci iz jedne tablice. U potpunom vanjskom spajanju, svi se podaci kombiniraju gdje god je to moguće.
Lijevo pridruživanje vs Lijevo vanjsko pridruživanje
U SQL poslužitelju ključna riječ external nije obavezna kada primijenite lijevo vanjsko spajanje. Stoga nema razlike ako napišete „LIJEVO VANJSKO PRIDRUŽIVANJE“ ili „LIJEVO PRIDRUŽIVANJE“ jer će vam oboje dati isti rezultat.
LIJEVO PRIDRUŽIVANJE B ekvivalent je sintaksi LIJEVOG VANJSKOG PRIDRUŽIVANJA B.
Ispod je popis ekvivalentnih sintaksa na SQL poslužitelju:
(slika izvor )
Lijevo vanjsko pridruživanje vs Desno vanjsko pridruživanje
Tu smo razliku već vidjeli u ovom članku. Možete vidjeti upite za lijevo vanjsko i desno vanjsko pridruživanje i skup rezultata da biste vidjeli razliku.
Glavna razlika između lijevog i desnog spajanja leži u uključivanju reda koji se ne podudaraju. Lijevo vanjsko spajanje uključuje neusporedive retke iz tablice koja se nalazi s lijeve strane klauzule pridruživanja, dok Desno vanjsko spajanje uključuje neusporedive retke iz tablice koja se nalazi desno od klauzule spajanja.
Ljudi se pitaju što je bolje koristiti, tj. Lijevo ili Desno? U osnovi su to iste vrste operacija, osim ako su njihovi argumenti obrnuti. Stoga, kada pitate koji spoj koristiti, zapravo pitate trebate li napisati a. To je samo stvar preferencija.
Općenito, ljudi više vole koristiti Lijevo pridruživanje u svom SQL upitu. Predložio bih da budete dosljedni načinu na koji pišete upit kako biste izbjegli zabunu u tumačenju upita.
Do sada smo vidjeli sve o unutarnjem spajanju i svim vrstama vanjskih pridruživanja. Dozvolite nam da brzo sažmemo razliku između Unutarnjeg i Vanjskog pridruživanja.
Razlika između unutarnjeg i vanjskog spajanja u tabličnom formatu
Unutarnje pridruživanje | Vanjsko pridruživanje |
---|---|
Vraća samo retke koji imaju podudarne vrijednosti u obje tablice. | Uključuje odgovarajuće retke, kao i neke nepodudarne retke između dvije tablice. |
U slučaju da je u tablicama velik broj redaka i postoji indeks koji se koristi, INNER JOIN je općenito brži od OUTER JOIN. | Općenito, VANJSKO PRIDRUŽIVANJE je sporije od UNUTARNJEG PRIDRUŽIVANJA jer treba vratiti veći broj zapisa u odnosu na UNUTARNJE PRIDRUŽIVANJE. Međutim, postoje neki specifični scenariji u kojima je VANJSKO PRIDRUŽIVANJE brže. |
Kada podudarnost nije pronađena, ona ne vraća ništa. | Kada se podudaranje ne pronađe, u vraćenu vrijednost stupca stavlja se NULL. |
Upotrijebite INNER JOIN kada želite potražiti detaljne informacije o bilo kojem određenom stupcu. | Koristite VANJSKO PRIDRUŽIVANJE kada želite prikazati popis svih podataka u dvije tablice. |
INNER JOIN djeluje poput filtra. Na obje tablice mora biti podudarnost da bi unutarnje spajanje vratilo podatke. | Djeluju poput dodavanja podataka. |
Implicitna notacija spajanja postoji za unutarnje spajanje koje navodi tablice koje se spajaju na način odvojen zarezima u klauzuli FROM. Primjer: SELECT * FROM product, category WHERE product.CategoryID = category.CategoryID; | Ne postoji implicitna notacija spajanja za vanjsko spajanje. |
Unutarnje i vanjsko pridruživanje vs Union
Ponekad zbunjujemo Join and Union i ovo je ujedno jedno od najčešće postavljanih pitanja u SQL intervjui . Već smo vidjeli razliku između unutarnjeg i vanjskog spajanja. Sada, da vidimo kako se PRIDRUŽIVANJE razlikuje od UNIJE.
UNION postavlja redak upita jedan za drugim, dok join stvara kartezijanski proizvod i postavlja ga na podskup. Stoga su UNION i JOIN potpuno različite operacije.
Pokrenimo donja dva upita u MySQL-u i pogledajte njihov rezultat.
UNION Upit:
SELECT 28 AS bah UNION SELECT 35 AS bah;
Proizlaziti:
Bah | |
---|---|
1 | 28 |
dva | 35 |
PRIDRUŽITE SE UPITU:
SELECT * FROM (SELECT 38 AS bah) AS foo JOIN (SELECT 35 AS bah) AS bar ON (55=55);
Proizlaziti:
foo | Bar | |
---|---|---|
1 | 38 | 35 |
Operacija UNION stavlja rezultat dva ili više upita u jedan skup rezultata. Ovaj skup rezultata sadrži sve zapise koji se vraćaju kroz sve upite uključene u UNION. Dakle, u osnovi UNION kombinira dva skupa rezultata zajedno.
Operacija spajanja dohvaća podatke iz dvije ili više tablica na temelju logičkih odnosa između tih tablica, tj. Na temelju uvjeta pridruživanja. U upitu za pridruživanje podaci iz jedne tablice koriste se za odabir zapisa iz druge tablice. Omogućuje vam povezivanje sličnih podataka koji su prisutni u različitim tablicama.
Da biste to vrlo jednostavno razumjeli, možete reći da UNION kombinira retke iz dvije tablice, dok spoj kombinira stupce iz dvije ili više tablica. Dakle, obje se koriste za kombiniranje podataka iz n tablica, ali razlika je u načinu kombiniranja podataka.
Ispod su slikoviti prikazi UNION-a i JOIN-a.
Gore je slikoviti prikaz Operacije spajanja koja prikazuje da svaki zapis u skupu rezultata sadrži stupce iz obje tablice, tj. Tablice A i tablice B. Ovaj se rezultat vraća na temelju uvjeta pridruživanja primijenjenog u upitu.
Pridruživanje je općenito rezultat denormalizacije (suprotno normalizaciji) i koristi strani ključ jedne tablice za traženje vrijednosti stupaca primenom primarnog ključa u drugoj tablici.
Gore je slikoviti prikaz UNION-ove operacije koji prikazuje da je svaki zapis u skupu rezultata red iz bilo koje od dvije tablice. Dakle, rezultat UNION-a kombinirao je retke iz tablice A i tablice B.
Daljnje čitanje = >> MySQL UNION objasnio je primjerima
Zaključak
U ovom smo članku vidjeli glavne razlike između Unutarnje i vanjsko pridruživanje u SQL-u . Također smo vidjeli klasifikaciju vanjskog pridruživanja, tj. Lijevog, desnog i potpunog pridruživanja. Vidjeli smo kako svaka od ovih vrsta spajanja djeluje i kako se međusobno razlikuju.
Također smo izvršili usporedbu izvedbe između ovih vrsta spajanja. Također smo razgovarali o tome kako se pridruživanje razlikuje od sindikata.
Također pročitajte = >> Vrste pridruživanja MySQL
Nadam se da će vam ovaj članak pomoći da razjasnite sumnje u pogledu razlika između različitih vrsta spajanja. Sigurni smo da će vas ovo zaista navesti na osnovu željenog skupa rezultata da odlučite koju ćete vrstu spajanja odabrati.
Preporučena literatura
- Točna razlika između provjere i provjere valjanosti s primjerima
- Modem protiv usmjerivača: znajte točnu razliku
- Razlika između SQL Vs MySQL Vs SQL Server (s primjerima)
- Python DateTime Vodič s primjerima
- LAN VS WAN Vs MAN: Točna razlika između vrsta mreže
- Izreži naredbu u Unixu s primjerima
- Sintaksa naredbe Unix Cat, mogućnosti s primjerima
- Primjena pokazivača u MongoDB-u s primjerima