Comparer 2 tables en utilisant EXCEPT

EXCEPT en SQL permet d’extraire les différences entre 2 tables. Exemple : 2 tables article avec des contenus différents 1) Extraire les lignes de ARTICLE qui ne sont pas dans ARTICLE2 :SELECT * FROM articleEXCEPTSELECT * FROM article2Résultat : Casquette jaune 2) Extraire les lignes de ARTICLE2 qui ne sont pas dans ARTICLE :SELECT * … Lire la suite

Lister les bibliothèques, les tables et les colonnes avec SQL

Lister les bibliothèques :SELECT * FROM sysschemas Par exemple, les 10 plus grosses bibliothèques :SELECT * FROM sysschemas ORDER BY schema_size DESCLIMIT 10 Lister les tables : SELECT * FROM systables Par exemple, lister les tables d’une bibliothèque :SELECT * FROM systables WHERE table_schema =’maBib’ Lister les colonnes :SELECT * FROM syscolumns Lister les colonnes … Lire la suite

Agrégation de données avec LISTAGG

SELECT item ,LISTAGG(TRIM(couleur), ‘,’) WITHIN GROUP(ORDER BY couleur)AS couleursFROM articleGROUP BY item Explications :LISTAGG permet de lister dans une colonne les données issues de plusieurs lignes.LISTAGG(colonne_à_concaténer , ‘séparateur’) WITHIN GROUP(ORDER BY colonne_de_tri) Dans l’exemple donné, le SQL transforme le fichier article suivant en 2 lignes composées de la colonne item et d’une colonne de couleurs … Lire la suite

Supprimer les doublons dans un fichier

DELETE FROM monfichier aWHERE RRN(a) NOT IN ( SELECT MAX(RRN(b)) FROM monfichier b WHERE (a.cle1, a.cle2) = (b.cle1, b.cle2) ) Explications :La fonction RRN permet de récupérer le numéro d’enregistrement de la ligne. Le SQL supprime donc les doublons (clé1+clé2 dans l’exemple) qui ne correspondent pas au dernier numéro d’enregistrement. Si on veut conserver le … Lire la suite