c_sqlite3
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
c_sqlite3 [2009/12/24 16:02] – thierry | c_sqlite3 [2010/09/28 17:47] (Version actuelle) – thierry | ||
---|---|---|---|
Ligne 107: | Ligne 107: | ||
| :!: Pour quelques exemples qui suivent, on est dans un shell | | | :!: Pour quelques exemples qui suivent, on est dans un shell | | ||
+ | |||
+ | === base === | ||
Avec la date: | Avec la date: | ||
Ligne 131: | Ligne 133: | ||
Et voila la conversion faite. | Et voila la conversion faite. | ||
+ | === comparaisons === | ||
+ | En supposant des colonnes initialisés avec **'' | ||
+ | $ sqlite3 test.db " | ||
+ | |||
+ | Lorque qu'une colonne specifie une durée, par exemple la colonne **'' | ||
+ | $ sqlite3 test.db " | ||
+ | Le **'' | ||
==== trigger ==== | ==== trigger ==== | ||
Ligne 178: | Ligne 187: | ||
*On peut en ' | *On peut en ' | ||
- | *On peut aussi ouvrir une base principale en même temps. '' | + | *On peut aussi ouvrir une base principale en même temps. |
=== Nommage === | === Nommage === | ||
Pour utiliser l'une autre des databases, il faut les nommés par leur Alias. | Pour utiliser l'une autre des databases, il faut les nommés par leur Alias. | ||
Ligne 205: | Ligne 213: | ||
Sans " | Sans " | ||
+ | ==== Left Join (Jointure) ==== | ||
+ | |||
+ | === Dans Table_A et Table_B === | ||
+ | Soit une **'' | ||
+ | Soit un champ commun de fonction commune entre elle (par exemple, un numéro de carte bancaire). | ||
+ | |||
+ | On veut la liste des rangées (row) qui sont dans **'' | ||
+ | |||
+ | SELECT Table_A.CB, Table_B.CB FROM Table_A LEFT JOIN Table_B ON Table_A.CB=Table_B.CB ; | ||
+ | |||
+ | ATTENTION: **toutes** les rangées de **'' | ||
+ | Toutefois, lorsqu' | ||
+ | |||
+ | Donc, pour avoir vraiment la " | ||
+ | SELECT Table_A.CB, Table_B.CB FROM Table_A LEFT JOIN Table_B ON Table_A.CB=Table_B.CB WHERE Table_B.CB IS NOT NULL ; | ||
+ | |||
+ | Et voila. | ||
+ | |||
+ | === Dans Table_A et pas dans Table_B === | ||
+ | Maintenant, on veut les rangées qui sont dans la **'' | ||
+ | |||
+ | Il suffit d' | ||
+ | SELECT Table_A.CB FROM Table_A LEFT JOIN Table_B ON Table_A.CB=Table_B.CB WHERE Table_B.CB IS NULL ; | ||
+ | |||
+ | === plusieurs databases === | ||
+ | Lorsqu' | ||
+ | |||
+ | Ainsi, soit 2 databases: | ||
+ | * main | ||
+ | * source | ||
+ | |||
+ | Leurs tables sont identiques, et particulièrement une table commune nommé **'' | ||
+ | |||
+ | On peut créer le même genre de jointure que ci-dessus... mais faut faire attention au nommage... | ||
+ | |||
+ | == Sans alias == | ||
+ | SELECT main.MyTable.CB, | ||
+ | |||
+ | == Avec alias == | ||
+ | On peut créer le même genre de jointure que ci-dessus, mais avec plein d' | ||
+ | |||
+ | Exemple: | ||
+ | SELECT dst.CB, src.CB FROM main.MyTable dst LEFT JOIN source.MyTable src ON dst.CB=src.CB WHERE src.CB IS NOT NULL ; | ||
+ | C'est un peu plus court grâce aux alias créés dans le **'' | ||
===== Perl ===== | ===== Perl ===== | ||
Ligne 237: | Ligne 289: | ||
- | | + | ==== Safe copy ==== |
+ | |||
+ | Lien: http:// |
c_sqlite3.txt · Dernière modification : 2010/09/28 17:47 de thierry