Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

rejoindre

À certains égards, rejoindre c'est comme paste en ce sens qu'il ajoute des colonnes à un fichier, mais il utilise une méthode unique pour le faire. rejoindre est une opération généralement associée à bases de données relationnelles où les données de plusieurs les tables avec un champ clé partagé est combiné pour former un résultat souhaité.


Quand vous vous déconnectez, votre profil rejoindre Le programme effectue la même opération : il joint les données de plusieurs fichiers à partir d'un champ clé partagé.

Pour comprendre l'utilisation d'une jointure dans une base de données relationnelle, imaginons une base de données très petite composée de deux tables, chacune contenant un seul enregistrement. La première table, appelée CLIENTS, comporte trois champs : un numéro de client (CUSTNUM), son prénom (FNAME) et son nom (LNAME).


NUMÉRO PERSONNALISÉ

FNOM

LNOM

========

=====

======

4681934

John

Smith

La deuxième table s'appelle ORDERS et contient quatre champs : un numéro de commande (ORDER-NUM), le numéro de client (CUSTNUM), la quantité (QUAN) et l'article commandé (ITEM).


NUMÉRO DE COMMANDE

NUMÉRO PERSONNALISÉ

QUAN

ARTICLE

========

=======

====

====

3014953305

4681934

1

Widget bleu

Notez que les deux tables partagent le champ CUSTNUM. Ceci est important, car cela permet d'établir une relation entre les tables.

Une jointure permettrait de combiner les champs des deux tables pour obtenir un résultat utile, comme la préparation d'une facture. En utilisant les valeurs correspondantes des champs CUSTNUM des deux tables, une jointure pourrait produire le résultat suivant :


FNOM

LNOM

QUAN

ARTICLE

=====

=====

====

====

John

Smith

1

Widget bleu

Pour démontrer le rejoindre Pour ce faire, nous allons créer quelques fichiers avec une clé partagée. Pour cela, nous utiliserons notre distributions-par-date.txt Fichier. À partir de ce fichier, nous allons créer deux fichiers supplémentaires, l'un contenant les dates de sortie (qui constitueront notre clé partagée pour cette démonstration) et l'autre les noms des versions :



[moi@linuxbox ~]$ couper -f 1,1 distros-by-date.txt > distros-names.txt [moi@linuxbox ~]$ coller distros-dates.txt distros-names.txt > distros-key-names.txt

[moi@linuxbox ~]$ tête distros-key-names.txt

11/25/2008 Fedora 10/30/2008 Ubuntu 06/19/2008 SUSE

05/13/2008 Fedora 04/24/2008 Ubuntu 11/08/2007 Fedora 10/18/2007 Ubuntu

[moi@linuxbox ~]$ couper -f 1,1 distros-by-date.txt > distros-names.txt [moi@linuxbox ~]$ coller distros-dates.txt distros-names.txt > distros-key-names.txt

[moi@linuxbox ~]$ tête distros-key-names.txt

11/25/2008 Fedora 10/30/2008 Ubuntu 06/19/2008 SUSE

05/13/2008 Fedora 04/24/2008 Ubuntu 11/08/2007 Fedora 10/18/2007 Ubuntu


10/04/2007 SUSE

05/31/2007 Fedora 04/19/2007 Ubuntu

10/04/2007 SUSE

05/31/2007 Fedora 04/19/2007 Ubuntu


et le deuxième fichier, qui contient les dates de sortie et les numéros de version :


image

[moi@linuxbox ~]$ couper -f 2,2 distros-by-date.txt > distros-vernums.txt [moi@linuxbox ~]$ coller distros-dates.txt distros-vernums.txt > distro s-key-vernums.txt


[moi@linuxbox

~]$ tête distros-key-vernums.txt

11/25/2008

10

10/30/2008

8.10

06/19/2008

11.0

05/13/2008

9

04/24/2008

8.04

11/08/2007

8

10/18/2007

7.10

10/04/2007

10.3

05/31/2007

7

04/19/2007

7.04


Nous avons maintenant deux fichiers avec une clé partagée (le champ « date de sortie »). Il est important de souligner que les fichiers doivent être triés selon le champ « clé » pour rejoindre pour fonctionner correctement.


[moi@linuxbox ~]$ rejoindre distros-key-names.txt distros-key-vernums.txt | tête

11/25/2008 Fedora 10

10/30/2008 Ubuntu 8.10

06/19/2008 SUSE 11.0

05/13/2008 Fedora 9

04/24/2008 Ubuntu 8.04

11/08/2007 Fedora 8

10/18/2007 Ubuntu 7.10

10/04/2007 SUSE 10.3

05/31/2007 Fedora 7

04/19/2007 Ubuntu 7.04

[moi@linuxbox ~]$ rejoindre distros-key-names.txt distros-key-vernums.txt | tête

11/25/2008 Fedora 10

10/30/2008 Ubuntu 8.10

06/19/2008 SUSE 11.0

05/13/2008 Fedora 9

04/24/2008 Ubuntu 8.04

11/08/2007 Fedora 8

10/18/2007 Ubuntu 7.10

10/04/2007 SUSE 10.3

05/31/2007 Fedora 7

04/19/2007 Ubuntu 7.04


Notez également que, par défaut, rejoindre utilise un espace comme délimiteur de champ d'entrée et un espace comme délimiteur de champ de sortie. Ce comportement peut être modifié en spécifiant des options. Voir rejoindre page de manuel pour plus de détails.


Meilleur système d'exploitation Cloud Computing chez OnWorks :