join (Unix)
A join Unix-utasítás a relációs adatbázisokban szokásos join műveletet végzi el két szövegfile között. Az utasítás a két file-t szövegtáblázatnak tekinti, a sorokat egy elválasztó karakterrel (alaphelyzetben helyközzel, de ez változtatható) oszlopokra vágja.
Mindkét file-ban meg kell adni egy-egy speciális kulcsoszlopot. A join összepárosítja az azonos értékeket a két file kulcsoszlopaiban, és az eredményben egyetlen sorként írja ki; a kulcsoszlopot csak egyszer, azt követi az első, majd a második file többi oszlopa.
Mindkét file a saját kulcsoszlopa szerint rendezett kell legyen.
Az utasítás alakja[szerkesztés]
join kapcsolók file1 file2
A kapcsolók egybetűsek, a hozzájuk tartozó értéket helyközzel kell elválasztani.[1] A fontosabbak:
-1 | oszlop | az első file kulcsnak kijelölt oszlopa (alapérték: 1) |
-2 | oszlop | a második file kulcsnak kijelölt oszlopa (alapérték: 1) |
-t | karakter | az oszlopokat elválasztó karakter (alaphelyzetben helyköz)[2] |
-a | n | filen sorait írja ki akkor is, ha nincs párjuk a másik file-ban (outer join) |
-v | n | filen azon sorait írja ki, melyeknek nincs párjuk a másik file-ban |
Linuxban ha mindkét file-ban azonos oszlop a kulcs, ezt az oszlopot a -j kapcsolóval adhatjuk meg.
Példa[szerkesztés]
f1.txt második, f2.txt első oszlopa a kulcs. Mindkét file a kulcsra rendezett. f2.txt-ben két azonos kulcsú sor található.
|
|
Jegyzetek[szerkesztés]
- ↑ Linuxban ez nem kötelező, de pl. Solarisban igen.
- ↑ Két vagy több egymás utáni elválasztó karakter egy oszlophatárnak számít.
- ↑ Az SQL-utasítás csak akkor hajtható végre, ha f1 és f2 azonos számú és típusú oszlopokkal rendelkezik. A fenti utasítás csak analógia.