Environnement - Packages¶

In [27]:
# activation de l'environnement
using Pkg
Pkg.activate("./env_julia_sql")
  Activating project at `c:\Users\ricco\Desktop\demo\env_julia_sql`
In [28]:
# lister les packages installés
Pkg.status()
Status `C:\Users\ricco\Desktop\demo\env_julia_sql\Project.toml`
  [a93c6f00] DataFrames v1.8.2
  [d2f5444f] DuckDB v1.5.1
  [7073ff75] IJulia v1.34.4
  [fdbf4ff8] XLSX v0.11.3

Requêtes sur une table (Fournisseurs)¶

Dataframe => Table (en mémoire)¶

In [29]:
# chargement des données (DataFrame)
import DataFrames as DFR
import XLSX

# lecture -> DataFrame
dfFour = DFR.DataFrame(XLSX.readtable("./fournisseurs.xlsx"))
println(dfFour)
29×5 DataFrame
 Row │ Num_fournisseur  Societe                            Adresse                            Ville             Pays        
     │ Int64            String                             String                             String            String      
─────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   1 │               1  Exotic Liquids                     49 Gilbert St.                     London            Royaume-Uni
   2 │               2  Nouvelle-Orléans Cajun Delights    P.O. Box 78934                     Nouvelle-Orléans  Etats-Unis
   3 │               3  Grandma Kelly's Homestead          707 Oxford Rd.                     Ann Arbor         Etats-Unis
   4 │               4  Tokyo Traders                      9-8 Sekimai Musashino-shi          Tokyo             Japon
   5 │               5  Cooperativa de Quesos 'Las Cabra…  Calle del Rosal 4                  Oviedo            Espagne
   6 │               6  Mayumi's                           92 Setsuko Chuo-ku                 Osaka             Japon
   7 │               7  Pavlova, Ltd.                      74 Rose St. Moonie Ponds           Melbourne         Australie
   8 │               8  Specialty Biscuits, Ltd.           29 King's Way                      Manchester        Royaume-Uni
   9 │               9  PB Knäckebröd AB                   Kaloadagatan 13                    Göteborg          Suède
  10 │              10  Refrescos Americanas LTDA          Av. das Americanas 12.890          São Paulo         Brésil
  11 │              11  Heli Süßwaren GmbH & Co. KG        Tiergartenstraße 5                 Berlin            Allemagne
  12 │              12  Plutzer Lebensmittelgroßmärkte AG  Bogenallee 51                      Frankfurt         Allemagne
  13 │              13  Nord-Ost-Fisch Handelsgesellscha…  Frahmredder 112a                   Cuxhaven          Allemagne
  14 │              14  Formaggi Fortini s.r.l.            Viale Dante, 75                    Ravenna           Italie
  15 │              15  Norske Meierier                    Hatlevegen 5                       Sandvika          Norvège
  16 │              16  Bigfoot Breweries                  3400 - 8th Avenue Suite 210        Bend              Etats-Unis
  17 │              17  Svensk Sjöföda AB                  Brovallavägen 231                  Stockholm         Suède
  18 │              18  Aux joyeux ecclésiastiques         203, Rue des Francs-Bourgeois      Paris             France
  19 │              19  New England Seafood Cannery        Order Processing Dept.             Boston            Etats-Unis
  20 │              20  Leka Trading                       471 Serangoon Loop, Suite          Singapore         Singapour
  21 │              21  Lyngbysild                         Lyngbysild Fiskebakken 10          Lyngby            Danemark
  22 │              22  Zaanse Snoepfabriek                Verkoop Rijnweg 22                 Zaandam           Pays-Bas
  23 │              23  Karkki Oy                          Valtakatu 12                       Lappeenranta      Finlande
  24 │              24  G'day, Mate                        170 Prince Edward Parade Hunter'…  Sydney            Australie
  25 │              25  Ma Maison                          2960 Rue St. Laurent               Montréal          Canada
  26 │              26  Pasta Buttini s.r.l.               Via dei Gelsomini, 153             Salerno           Italie
  27 │              27  Escargots Nouveaux                 22, rue H. Voiron                  Montceau          France
  28 │              28  Gai pâturage                       Bat. B - 3, rue des Alpes          Annecy            France
  29 │              29  Forêts d'érables                   148 rue Chasseur                   Ste-Hyacinthe     Canada
In [30]:
# création d'une interface en mémoire via DuckDB
import DuckDB
con = DuckDB.DBInterface.connect(DuckDB.DB)

# créer un alias qui permet d'accéder au dataframe
DuckDB.register_data_frame(con,dfFour,"tab_Four")
In [33]:
# lancer une première requête pour vérifier
# le résultat est typé en DataFrame pour être facile à visualiser
result = DuckDB.DBInterface.execute(con,"SELECT * FROM tab_Four") |> DFR.DataFrame
println(result)
29×5 DataFrame
 Row │ Num_fournisseur  Societe                            Adresse                            Ville             Pays        
     │ Int64            String                             String                             String            String      
─────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   1 │               1  Exotic Liquids                     49 Gilbert St.                     London            Royaume-Uni
   2 │               2  Nouvelle-Orléans Cajun Delights    P.O. Box 78934                     Nouvelle-Orléans  Etats-Unis
   3 │               3  Grandma Kelly's Homestead          707 Oxford Rd.                     Ann Arbor         Etats-Unis
   4 │               4  Tokyo Traders                      9-8 Sekimai Musashino-shi          Tokyo             Japon
   5 │               5  Cooperativa de Quesos 'Las Cabra…  Calle del Rosal 4                  Oviedo            Espagne
   6 │               6  Mayumi's                           92 Setsuko Chuo-ku                 Osaka             Japon
   7 │               7  Pavlova, Ltd.                      74 Rose St. Moonie Ponds           Melbourne         Australie
   8 │               8  Specialty Biscuits, Ltd.           29 King's Way                      Manchester        Royaume-Uni
   9 │               9  PB Knäckebröd AB                   Kaloadagatan 13                    Göteborg          Suède
  10 │              10  Refrescos Americanas LTDA          Av. das Americanas 12.890          São Paulo         Brésil
  11 │              11  Heli Süßwaren GmbH & Co. KG        Tiergartenstraße 5                 Berlin            Allemagne
  12 │              12  Plutzer Lebensmittelgroßmärkte AG  Bogenallee 51                      Frankfurt         Allemagne
  13 │              13  Nord-Ost-Fisch Handelsgesellscha…  Frahmredder 112a                   Cuxhaven          Allemagne
  14 │              14  Formaggi Fortini s.r.l.            Viale Dante, 75                    Ravenna           Italie
  15 │              15  Norske Meierier                    Hatlevegen 5                       Sandvika          Norvège
  16 │              16  Bigfoot Breweries                  3400 - 8th Avenue Suite 210        Bend              Etats-Unis
  17 │              17  Svensk Sjöföda AB                  Brovallavägen 231                  Stockholm         Suède
  18 │              18  Aux joyeux ecclésiastiques         203, Rue des Francs-Bourgeois      Paris             France
  19 │              19  New England Seafood Cannery        Order Processing Dept.             Boston            Etats-Unis
  20 │              20  Leka Trading                       471 Serangoon Loop, Suite          Singapore         Singapour
  21 │              21  Lyngbysild                         Lyngbysild Fiskebakken 10          Lyngby            Danemark
  22 │              22  Zaanse Snoepfabriek                Verkoop Rijnweg 22                 Zaandam           Pays-Bas
  23 │              23  Karkki Oy                          Valtakatu 12                       Lappeenranta      Finlande
  24 │              24  G'day, Mate                        170 Prince Edward Parade Hunter'…  Sydney            Australie
  25 │              25  Ma Maison                          2960 Rue St. Laurent               Montréal          Canada
  26 │              26  Pasta Buttini s.r.l.               Via dei Gelsomini, 153             Salerno           Italie
  27 │              27  Escargots Nouveaux                 22, rue H. Voiron                  Montceau          France
  28 │              28  Gai pâturage                       Bat. B - 3, rue des Alpes          Annecy            France
  29 │              29  Forêts d'érables                   148 rue Chasseur                   Ste-Hyacinthe     Canada

Quelques requêtes¶

In [34]:
# liste des fournisseurs français
result = DuckDB.DBInterface.execute(con,
            """SELECT *
               FROM tab_Four
               WHERE Pays LIKE 'France'""") |> DFR.DataFrame
println(result)
3×5 DataFrame
 Row │ Num_fournisseur  Societe                     Adresse                        Ville     Pays   
     │ Int64            String                      String                         String    String 
─────┼──────────────────────────────────────────────────────────────────────────────────────────────
   1 │              18  Aux joyeux ecclésiastiques  203, Rue des Francs-Bourgeois  Paris     France
   2 │              27  Escargots Nouveaux          22, rue H. Voiron              Montceau  France
   3 │              28  Gai pâturage                Bat. B - 3, rue des Alpes      Annecy    France
In [35]:
# liste des Pays
result = DuckDB.DBInterface.execute(con,
            """SELECT DISTINCT(Pays)
               FROM tab_Four""") |> DFR.DataFrame
println(result)
16×1 DataFrame
 Row │ Pays        
     │ String      
─────┼─────────────
   1 │ Royaume-Uni
   2 │ Etats-Unis
   3 │ Japon
   4 │ Espagne
   5 │ Australie
   6 │ Suède
   7 │ Brésil
   8 │ Allemagne
   9 │ Italie
  10 │ Norvège
  11 │ France
  12 │ Singapour
  13 │ Danemark
  14 │ Pays-Bas
  15 │ Finlande
  16 │ Canada
In [36]:
# pays qui apparaissent plus d'une fois
# dans la tables de fournisseurs
result = DuckDB.DBInterface.execute(con,
            """SELECT Pays,COUNT(Pays) as NbPays
               FROM tab_Four
               GROUP BY Pays
               HAVING NbPays > 1""") |> DFR.DataFrame
println(result)
9×2 DataFrame
 Row │ Pays         NbPays 
     │ String       Int64  
─────┼─────────────────────
   1 │ Royaume-Uni       2
   2 │ Etats-Unis        4
   3 │ Japon             2
   4 │ Australie         2
   5 │ Suède             2
   6 │ Allemagne         3
   7 │ Italie            2
   8 │ France            3
   9 │ Canada            2

Requêtes avec jointures (+ Produits)¶

In [37]:
# Chargement et connexion avec la table Produits

# lecture -> DataFrame
dfProd = DFR.DataFrame(XLSX.readtable("./produits.xlsx"))
println(dfProd)

# alias en mémoire
DuckDB.register_data_frame(con,dfProd,"tab_Prod")

# vérification
println(DuckDB.DBInterface.execute(con,"SELECT * FROM tab_prod") |> DFR.DataFrame)
77×5 DataFrame
 Row │ Ref_produit  Nom_produit                       Num_fournisseur  Quantite_par_unite         Prix_unitaire 
     │ Int64        String                            Int64            String                     Float64       
─────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────
   1 │           1  Chai                                            1  10 boîtes x 20 sacs                18.0
   2 │           2  Chang                                           1  24 bouteilles (1 litre)            19.0
   3 │           3  Aniseed Syrup                                   1  12 bouteilles (550 ml)             10.0
   4 │           4  Chef Anton's Cajun Seasoning                    2  48 pots (6 onces)                  22.0
   5 │           5  Chef Anton's Gumbo Mix                          2  36 boîtes                          21.35
   6 │           6  Grandma's Boysenberry Spread                    3  12 pots (8 onces)                  25.0
   7 │           7  Uncle Bob's Organic Dried Pears                 3  12 cartons (1 kg)                  30.0
   8 │           8  Northwoods Cranberry Sauce                      3  12 pots (12 onces)                 40.0
   9 │           9  Mishi Kobe Niku                                 4  18 cartons (500 g)                 97.0
  10 │          10  Ikura                                           4  12 pots (200 g)                    31.0
  11 │          11  Queso Cabrales                                  5  1 carton (1 kg)                    21.0
  12 │          12  Queso Manchego La Pastora                       5  10 cartons (500 g)                 38.0
  13 │          13  Konbu                                           6  1 boîtes (2 kg)                     6.0
  14 │          14  Tofu                                            6  40 cartons (100 g)                 23.25
  15 │          15  Genen Shouyu                                    6  24 bouteilles (250 ml)             15.5
  16 │          16  Pavlova                                         7  32 boîtes (500 g)                  17.45
  17 │          17  Alice Mutton                                    7  20 boîtes (1 kg)                   39.0
  18 │          18  Carnarvon Tigers                                7  1 carton (16 kg)                   62.5
  19 │          19  Teatime Chocolate Biscuits                      8  10 boîtes x 12 pièces               9.2
  20 │          20  Sir Rodney's Marmalade                          8  30 boîtes                          81.0
  21 │          21  Sir Rodney's Scones                             8  24 cartons x 4 pièces              10.0
  22 │          22  Gustaf's Knäckebröd                             9  24 cartons (500 g)                 21.0
  23 │          23  Tunnbröd                                        9  12 cartons (250 g)                  9.0
  24 │          24  Guaraná Fantástica                             10  12 canettes (355 ml)                4.5
  25 │          25  NuNuCa Nuß-Nougat-Creme                        11  20 verres (450 g)                  14.0
  26 │          26  Gumbär Gummibärchen                            11  100 sacs (250 g)                   31.23
  27 │          27  Schoggi Schokolade                             11  100 pièces (100 g)                 43.9
  28 │          28  Rössle Sauerkraut                              12  25 canettes (825 g)                45.6
  29 │          29  Thüringer Rostbratwurst                        12  50 sacs x 30 saucisses            123.79
  30 │          30  Nord-Ost Matjeshering                          13  10 verres (200 g)                  25.89
  31 │          31  Gorgonzola Telino                              14  12 cartons (100 g)                 12.5
  32 │          32  Mascarpone Fabioli                             14  24 cartons (200 g)                 32.0
  33 │          33  Geitost                                        15  1 carton (500 g)                    2.5
  34 │          34  Sasquatch Ale                                  16  24 bouteilles (70 cl)              14.0
  35 │          35  Steeleye Stout                                 16  24 bouteilles (1 litre)            18.0
  36 │          36  Inlagd Sill                                    17  24 pots (250 g)                    19.0
  37 │          37  Gravad lax                                     17  12 cartons (500 g)                 26.0
  38 │          38  Côte de Blaye                                  18  12 bouteilles (75 cl)             263.5
  39 │          39  Chartreuse verte                               18  1 bouteille (750 cc)               18.0
  40 │          40  Boston Crab Meat                               19  24 boîtes (4 onces)                18.4
  41 │          41  Jack's New England Clam Chowder                19  12 canettes (330 ml)                9.65
  42 │          42  Singaporean Hokkien Fried Mee                  20  32 cartons (1 kg)                  14.0
  43 │          43  Ipoh Coffee                                    20  16 boîtes (500 g)                  46.0
  44 │          44  Gula Malacca                                   20  20 cartons (2 kg)                  19.45
  45 │          45  Røgede sild                                    21  1 carton (1kg)                      9.5
  46 │          46  Spegesild                                      21  4 boîtes (250 g)                   12.0
  47 │          47  Zaanse koeken                                  22  10 boîtes (4 onces)                 9.5
  48 │          48  Chocolade                                      22  10 cartons                         12.75
  49 │          49  Maxilaku                                       23  24 cartons (50 g)                  20.0
  50 │          50  Valkoinen suklaa                               23  12 plaquettes (100 g)              16.25
  51 │          51  Manjimup Dried Apples                          24  50 cartons (300 g)                 53.0
  52 │          52  Filo Mix                                       24  16 boîtes (2 kg)                    7.0
  53 │          53  Perth Pasties                                  24  48 pièces                          32.8
  54 │          54  Tourtière                                      25  16 tartes                           7.45
  55 │          55  Pâté chinois                                   25  24 boîtes x 2 tartes               24.0
  56 │          56  Gnocchi di nonna Alice                         26  24 cartons (250 g)                 38.0
  57 │          57  Ravioli Angelo                                 26  24 cartons (250 g)                 19.5
  58 │          58  Escargots de Bourgogne                         27  24 pièces                          13.25
  59 │          59  Raclette Courdavault                           28  1 carton (5 kg)                    55.0
  60 │          60  Camembert Pierrot                              28  15 unités (300 g)                  34.0
  61 │          61  Sirop d'érable                                 29  24 bouteilles (500 ml)             28.5
  62 │          62  Tarte au sucre                                 29  48 tartes                          49.3
  63 │          63  Vegie-spread                                    7  15 pots (625 g)                    43.9
  64 │          64  Wimmers gute Semmelknödel                      12  20 sacs x 4 pièces                 33.25
  65 │          65  Louisiana Fiery Hot Pepper Sauce                2  32 bouteilles (8 onces)            21.05
  66 │          66  Louisiana Hot Spiced Okra                       2  24 pots (8 onces)                  17.0
  67 │          67  Laughing Lumberjack Lager                      16  24 bouteilles (12 onces)           14.0
  68 │          68  Scottish Longbreads                             8  10 sacs x 8 pièces                 12.5
  69 │          69  Gudbrandsdalsost                               15  1 carton (10 kg)                   36.0
  70 │          70  Outback Lager                                   7  24 bouteilles (355 ml)             15.0
  71 │          71  Fløtemysost                                    15  10 cartons (500 g)                 21.5
  72 │          72  Mozzarella di Giovanni                         14  24 cartons (200 g)                 34.8
  73 │          73  Röd Kaviar                                     17  24 pots (150 g)                    15.0
  74 │          74  Longlife Tofu                                   4  1 carton (5 kg)                    10.0
  75 │          75  Rhönbräu Klosterbier                           12  24 bouteilles (0,5 litre)           7.75
  76 │          76  Lakkalikööri                                   23  1 bouteille (500 ml)               18.0
  77 │          77  Original Frankfurter grüne Soße                12  12 boîtes                          13.0
77×5 DataFrame
 Row │ Ref_produit  Nom_produit                       Num_fournisseur  Quantite_par_unite         Prix_unitaire 
     │ Int64        String                            Int64            String                     Float64       
─────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────
   1 │           1  Chai                                            1  10 boîtes x 20 sacs                18.0
   2 │           2  Chang                                           1  24 bouteilles (1 litre)            19.0
   3 │           3  Aniseed Syrup                                   1  12 bouteilles (550 ml)             10.0
   4 │           4  Chef Anton's Cajun Seasoning                    2  48 pots (6 onces)                  22.0
   5 │           5  Chef Anton's Gumbo Mix                          2  36 boîtes                          21.35
   6 │           6  Grandma's Boysenberry Spread                    3  12 pots (8 onces)                  25.0
   7 │           7  Uncle Bob's Organic Dried Pears                 3  12 cartons (1 kg)                  30.0
   8 │           8  Northwoods Cranberry Sauce                      3  12 pots (12 onces)                 40.0
   9 │           9  Mishi Kobe Niku                                 4  18 cartons (500 g)                 97.0
  10 │          10  Ikura                                           4  12 pots (200 g)                    31.0
  11 │          11  Queso Cabrales                                  5  1 carton (1 kg)                    21.0
  12 │          12  Queso Manchego La Pastora                       5  10 cartons (500 g)                 38.0
  13 │          13  Konbu                                           6  1 boîtes (2 kg)                     6.0
  14 │          14  Tofu                                            6  40 cartons (100 g)                 23.25
  15 │          15  Genen Shouyu                                    6  24 bouteilles (250 ml)             15.5
  16 │          16  Pavlova                                         7  32 boîtes (500 g)                  17.45
  17 │          17  Alice Mutton                                    7  20 boîtes (1 kg)                   39.0
  18 │          18  Carnarvon Tigers                                7  1 carton (16 kg)                   62.5
  19 │          19  Teatime Chocolate Biscuits                      8  10 boîtes x 12 pièces               9.2
  20 │          20  Sir Rodney's Marmalade                          8  30 boîtes                          81.0
  21 │          21  Sir Rodney's Scones                             8  24 cartons x 4 pièces              10.0
  22 │          22  Gustaf's Knäckebröd                             9  24 cartons (500 g)                 21.0
  23 │          23  Tunnbröd                                        9  12 cartons (250 g)                  9.0
  24 │          24  Guaraná Fantástica                             10  12 canettes (355 ml)                4.5
  25 │          25  NuNuCa Nuß-Nougat-Creme                        11  20 verres (450 g)                  14.0
  26 │          26  Gumbär Gummibärchen                            11  100 sacs (250 g)                   31.23
  27 │          27  Schoggi Schokolade                             11  100 pièces (100 g)                 43.9
  28 │          28  Rössle Sauerkraut                              12  25 canettes (825 g)                45.6
  29 │          29  Thüringer Rostbratwurst                        12  50 sacs x 30 saucisses            123.79
  30 │          30  Nord-Ost Matjeshering                          13  10 verres (200 g)                  25.89
  31 │          31  Gorgonzola Telino                              14  12 cartons (100 g)                 12.5
  32 │          32  Mascarpone Fabioli                             14  24 cartons (200 g)                 32.0
  33 │          33  Geitost                                        15  1 carton (500 g)                    2.5
  34 │          34  Sasquatch Ale                                  16  24 bouteilles (70 cl)              14.0
  35 │          35  Steeleye Stout                                 16  24 bouteilles (1 litre)            18.0
  36 │          36  Inlagd Sill                                    17  24 pots (250 g)                    19.0
  37 │          37  Gravad lax                                     17  12 cartons (500 g)                 26.0
  38 │          38  Côte de Blaye                                  18  12 bouteilles (75 cl)             263.5
  39 │          39  Chartreuse verte                               18  1 bouteille (750 cc)               18.0
  40 │          40  Boston Crab Meat                               19  24 boîtes (4 onces)                18.4
  41 │          41  Jack's New England Clam Chowder                19  12 canettes (330 ml)                9.65
  42 │          42  Singaporean Hokkien Fried Mee                  20  32 cartons (1 kg)                  14.0
  43 │          43  Ipoh Coffee                                    20  16 boîtes (500 g)                  46.0
  44 │          44  Gula Malacca                                   20  20 cartons (2 kg)                  19.45
  45 │          45  Røgede sild                                    21  1 carton (1kg)                      9.5
  46 │          46  Spegesild                                      21  4 boîtes (250 g)                   12.0
  47 │          47  Zaanse koeken                                  22  10 boîtes (4 onces)                 9.5
  48 │          48  Chocolade                                      22  10 cartons                         12.75
  49 │          49  Maxilaku                                       23  24 cartons (50 g)                  20.0
  50 │          50  Valkoinen suklaa                               23  12 plaquettes (100 g)              16.25
  51 │          51  Manjimup Dried Apples                          24  50 cartons (300 g)                 53.0
  52 │          52  Filo Mix                                       24  16 boîtes (2 kg)                    7.0
  53 │          53  Perth Pasties                                  24  48 pièces                          32.8
  54 │          54  Tourtière                                      25  16 tartes                           7.45
  55 │          55  Pâté chinois                                   25  24 boîtes x 2 tartes               24.0
  56 │          56  Gnocchi di nonna Alice                         26  24 cartons (250 g)                 38.0
  57 │          57  Ravioli Angelo                                 26  24 cartons (250 g)                 19.5
  58 │          58  Escargots de Bourgogne                         27  24 pièces                          13.25
  59 │          59  Raclette Courdavault                           28  1 carton (5 kg)                    55.0
  60 │          60  Camembert Pierrot                              28  15 unités (300 g)                  34.0
  61 │          61  Sirop d'érable                                 29  24 bouteilles (500 ml)             28.5
  62 │          62  Tarte au sucre                                 29  48 tartes                          49.3
  63 │          63  Vegie-spread                                    7  15 pots (625 g)                    43.9
  64 │          64  Wimmers gute Semmelknödel                      12  20 sacs x 4 pièces                 33.25
  65 │          65  Louisiana Fiery Hot Pepper Sauce                2  32 bouteilles (8 onces)            21.05
  66 │          66  Louisiana Hot Spiced Okra                       2  24 pots (8 onces)                  17.0
  67 │          67  Laughing Lumberjack Lager                      16  24 bouteilles (12 onces)           14.0
  68 │          68  Scottish Longbreads                             8  10 sacs x 8 pièces                 12.5
  69 │          69  Gudbrandsdalsost                               15  1 carton (10 kg)                   36.0
  70 │          70  Outback Lager                                   7  24 bouteilles (355 ml)             15.0
  71 │          71  Fløtemysost                                    15  10 cartons (500 g)                 21.5
  72 │          72  Mozzarella di Giovanni                         14  24 cartons (200 g)                 34.8
  73 │          73  Röd Kaviar                                     17  24 pots (150 g)                    15.0
  74 │          74  Longlife Tofu                                   4  1 carton (5 kg)                    10.0
  75 │          75  Rhönbräu Klosterbier                           12  24 bouteilles (0,5 litre)           7.75
  76 │          76  Lakkalikööri                                   23  1 bouteille (500 ml)               18.0
  77 │          77  Original Frankfurter grüne Soße                12  12 boîtes                          13.0
In [38]:
# liste des produits, dont le prix est > 50, et leurs fournisseurs
result = DuckDB.DBInterface.execute(con,
            """SELECT A.Nom_produit, B.Societe, A.Prix_unitaire
            FROM tab_Prod A
            LEFT JOIN tab_Four B
            ON A.Num_fournisseur = B.Num_fournisseur
            WHERE A.Prix_unitaire > 50""") |> DFR.DataFrame
println(result)
7×3 DataFrame
 Row │ Nom_produit              Societe                            Prix_unitaire 
     │ String                   String                             Float64       
─────┼───────────────────────────────────────────────────────────────────────────
   1 │ Mishi Kobe Niku          Tokyo Traders                              97.0
   2 │ Carnarvon Tigers         Pavlova, Ltd.                              62.5
   3 │ Sir Rodney's Marmalade   Specialty Biscuits, Ltd.                   81.0
   4 │ Thüringer Rostbratwurst  Plutzer Lebensmittelgroßmärkte AG         123.79
   5 │ Côte de Blaye            Aux joyeux ecclésiastiques                263.5
   6 │ Manjimup Dried Apples    G'day, Mate                                53.0
   7 │ Raclette Courdavault     Gai pâturage                               55.0
In [39]:
# sachant que les DataFrame de Julia - à l'instar de Pandas/Python
# dispose des fonctionnalités de jointure -- ex. leftjoin
result = DFR.leftjoin(dfProd,dfFour,on = :Num_fournisseur)
println(result[result.Prix_unitaire .> 50,[:Nom_produit,:Societe,:Prix_unitaire]])
7×3 DataFrame
 Row │ Nom_produit              Societe                            Prix_unitaire 
     │ String                   String?                            Float64       
─────┼───────────────────────────────────────────────────────────────────────────
   1 │ Mishi Kobe Niku          Tokyo Traders                              97.0
   2 │ Carnarvon Tigers         Pavlova, Ltd.                              62.5
   3 │ Sir Rodney's Marmalade   Specialty Biscuits, Ltd.                   81.0
   4 │ Thüringer Rostbratwurst  Plutzer Lebensmittelgroßmärkte AG         123.79
   5 │ Côte de Blaye            Aux joyeux ecclésiastiques                263.5
   6 │ Manjimup Dried Apples    G'day, Mate                                53.0
   7 │ Raclette Courdavault     Gai pâturage                               55.0