SQL est un langage standard pour stocker, manipuler et récupérer des données dans des bases de données.
dans mon cours SQL vous apprendra à utiliser SQL dans : MySQL, SQL Server, MS Access, Oracle, Sybase, Informix, Postgres et d'autres systèmes de base de données.
Microsoft Excel est un logiciel tableur de la suite bureautique Microsoft Office développé et distribué par l'éditeur Microsoft. La version la plus récente est Excel 2021. Il est destiné à fonctionner sur les plates-formes Microsoft Windows, Mac OS X, Android ou Linux.
C'est la nouvelle version 2019 du chapitre sur les tableaux en C++:
https://fr.slideshare.net/AzizDarouichi/chapitre3-tableauxcpp
Si vous avez des remarques ou suggestions afin de le parfaire.
N’hésitez pas à me contacter via mon email:
pr.azizdarouichi@gmail.com.
Bonne lecture
Quelle est la différence entre TABLE et MATRICE ? Et les requêtes PIVOTAbdel Yezza
Cette question je l'ai posé à plusieurs personnes ayant des métiers relativement distincts bien qu'elles soient toutes en informatique. A ma surprise, très peu parmi elles connaissent vraiment la différence entre une matrice et une table.
Cet article répond à cette question en mettant le focus sur les requêtes PIVOT.
Les dernières core update, l'arrivée de l'IA dans l'algorithme, les HCU, les product revienws upates ont sérieusement mis à mal l'efficacité des vieilles méthodes SEO. Il faut passer à autre chose...
La télévision fait partie intégrante de notre quotidien. Avec l'évolution de la technologie, notre manière de consommer le contenu télévisuel a changé de manière significative. L'une des innovations les plus remarquables dans ce domaine est l'IPTV. Mais qu'est-ce que c'est exactement ? Et pourquoi l'ABO IPTV PREMIUM est-il si révolutionnaire ? Découvrons ensemble.
ABO IPTV PREMIUM peut également être utilisé sur des ordinateurs portables, des PC de bureau et même des consoles de jeux.
Regardez vos émissions préférées en déplacement grâce aux applications mobiles disponibles pour iOS et Android.
Que vous ayez une Smart TV Samsung, LG, ou autre, ABO IPTV PREMIUM est compatible avec la plupart des téléviseurs intelligents.
SQL est un langage standard pour stocker, manipuler et récupérer des données dans des bases de données.
dans mon cours SQL vous apprendra à utiliser SQL dans : MySQL, SQL Server, MS Access, Oracle, Sybase, Informix, Postgres et d'autres systèmes de base de données.
Microsoft Excel est un logiciel tableur de la suite bureautique Microsoft Office développé et distribué par l'éditeur Microsoft. La version la plus récente est Excel 2021. Il est destiné à fonctionner sur les plates-formes Microsoft Windows, Mac OS X, Android ou Linux.
C'est la nouvelle version 2019 du chapitre sur les tableaux en C++:
https://fr.slideshare.net/AzizDarouichi/chapitre3-tableauxcpp
Si vous avez des remarques ou suggestions afin de le parfaire.
N’hésitez pas à me contacter via mon email:
pr.azizdarouichi@gmail.com.
Bonne lecture
Quelle est la différence entre TABLE et MATRICE ? Et les requêtes PIVOTAbdel Yezza
Cette question je l'ai posé à plusieurs personnes ayant des métiers relativement distincts bien qu'elles soient toutes en informatique. A ma surprise, très peu parmi elles connaissent vraiment la différence entre une matrice et une table.
Cet article répond à cette question en mettant le focus sur les requêtes PIVOT.
Les dernières core update, l'arrivée de l'IA dans l'algorithme, les HCU, les product revienws upates ont sérieusement mis à mal l'efficacité des vieilles méthodes SEO. Il faut passer à autre chose...
La télévision fait partie intégrante de notre quotidien. Avec l'évolution de la technologie, notre manière de consommer le contenu télévisuel a changé de manière significative. L'une des innovations les plus remarquables dans ce domaine est l'IPTV. Mais qu'est-ce que c'est exactement ? Et pourquoi l'ABO IPTV PREMIUM est-il si révolutionnaire ? Découvrons ensemble.
ABO IPTV PREMIUM peut également être utilisé sur des ordinateurs portables, des PC de bureau et même des consoles de jeux.
Regardez vos émissions préférées en déplacement grâce aux applications mobiles disponibles pour iOS et Android.
Que vous ayez une Smart TV Samsung, LG, ou autre, ABO IPTV PREMIUM est compatible avec la plupart des téléviseurs intelligents.
Actu du SEO - Matin Népérien Lille - Agence NeperPhilippe YONNET
L'actu du SEO présentée lors du Matin Népérien de Lille le 4 janvier 2024.
On a parlé DMA, AI Act, Cookies Tiers, des Core Update de Mars, AI Overviews, Bots Google et Crawl, et bien sûr ... des Google Leaks
Requetes ecommerce - les différences US vs Europe.pptxPhilippe YONNET
Beaucoup de fonctionnalités présentes sur les requêtes ecommerce sur les SERPs de Google aux USA, n'existent pas encore sur Google FR. La faute au RGPD, au DMA, mais cela peut arriver sous une autre forme en France, avec un impact potentiel non négligeable sur l'e-commerce
Stratégies pour accroître la visibilité et l'engagement de votre blogAsher256
Dans la présentation proposée, vous explorerez les fondamentaux et les stratégies essentielles pour augmenter la visibilité de votre blog. Voici une élaboration détaillée sur les différents aspects qui seront abordés:
Nous débuterons par des techniques de promotion essentielles. Cela inclut l'utilisation des réseaux sociaux, le networking avec d'autres blogueurs, et la participation à des forums et des groupes en ligne pertinents. L'objectif est de créer une présence initiale qui capte l'attention.
Ensuite, nous discuterons de méthodes pour augmenter le trafic vers votre site. Cela comprend le marketing de contenu, lequel implique la création d'articles intéressants, pertinents et utiles qui répondent aux questions de votre audience cible. Nous aborderons également l'importance de l'email marketing et des newsletters pour attirer régulièrement des visiteurs.
Fidéliser votre audience est important pour assurer le succès à long terme de votre blog. Nous explorerons des techniques telles que l'offre de contenu exclusif, la mise en place de programmes de fidélité, et la régularité des publications. Engager activement vos lecteurs via les commentaires et les réseaux sociaux sera également discuté.
Un des aspects les plus techniques mais essentiels est le référencement naturel, ou SEO (Search Engine Optimization). Vous apprendrez comment optimiser vos articles de blog et votre site pour améliorer votre classement dans les résultats des moteurs de recherche comme Google et Yahoo. Cela inclut l'optimisation des mots-clés, la création de liens retour (backlinks), l'amélioration de la vitesse de chargement du site, et plus encore.
Les logiciels libres : une opportunite pour votre entreprise?Asher256
L'utilisation des logiciels libres se généralise dans le milieu professionnel, notamment avec l'intégration croissante de logiciels de gestion, de comptabilité et administratifs. Vous découvrirez les principaux points abordés lors de la conférence.
La conférence intitulée « Les logiciels libres, une opportunité pour votre entreprise ? » visait à explorer le potentiel des logiciels libres dans le milieu des affaires.
Dans cette présentation, j'ai principalement mis en avant les avantages des logiciels libres pour les entreprises, tout en abordant certains éléments de manière plus spectaculaire.
L'objectif n'était pas de présenter exhaustivement tous les avantages et désavantages, mais plutôt :
- De simplifier le sujet pour un public découvrant les logiciels libres, potentiellement composé de futurs entrepreneurs.
- De favoriser une session de questions/réponses, durant laquelle nous avons discuté plus objectivement et en détail des avantages et désavantages. Cette session a duré environ une heure.
- De présenter les logiciels libres sous un jour favorable pour inciter les participants à les explorer davantage.
Pour approfondir vos connaissances sur les logiciels libres dans les entreprises, je vous recommande de consulter :
- Un dossier complet sur les logiciels libres dans les entreprises (un document PDF de plus de 80 pages).
Vous pouvez également lire ces articles pour en savoir plus :
- Quels usages des logiciels libres dans les entreprises ?
- L'entreprise doit-elle adopter les logiciels libres ?
- Logiciels libres et entreprise.
La discussion est maintenant ouverte. Quelle est votre perspective sur l'utilisation des logiciels libres dans les entreprises ? Quels sont, selon vous, leurs avantages et leurs inconvénients ? Y a-t-il des écueils à éviter ?
Le gros titres des slides:
Les Logiciels Libres : Une Opportunité Pour Les Entreprises ?
Les logiciels propriétaires ? ● (aussi appelées logiciels privateurs) ● Propriétaire = Un logiciel qui n’est pas ”libre”. ● En général (il y a des variantes) : – Il est interdit de le partager – Droit seulement de l’utiliser – Code source fermé – En général payant
Les Logiciels Libres : Une Opportunité Pour Les Entreprises ?
Les logiciels propriétaires ? ● (aussi appelées logiciels privateurs) ● Propriétaire = Un logiciel qui n’est pas ”libre”. ● En général (il y a des variantes) : – Il est interdit de le partager – Droit seulement de l’utiliser – Code source fermé – En général payant
Les Licences Open Source ● Plus de droits: BSD, X, MIT ● Libres, avec conditions : GPL, LGPL ● Autres licences : Art Libre, Creative Common…
Le logiciel libre, selon la FSF (4 libertés de la GPL) ● Exécuter sans restriction ● Étudier son fonctionnement ● Redistribuer des copies (même payantes) ● Améliorer le programme et publier les améliorations
Comment s’ont développés les logiciels libres ? ● Bénévoles – Organisés (GNU, Apache) – Isolés ● Entreprises – QT – OpenERP ● Divers profiles : – Traducteur – Développeur –
Les logiciels libres : une opportunite pour votre entreprise?
Support_Cours_SQL.ppt
1. 1
• Langage de requêtes (Structured Query Language )
• Origine
– 1975 : QUEL
– 1976 : Structured English QUEry Langage (SEQUEL) par IBM
– 1981 : SQL par IBM
• Standard ANSI-ISO, Normes SQL-86,89, SQL2-92
• SGBDR : Oracle, Sybase, DB2, Ingres, MS SQL Server,
MySQL, MS Access ...
• Mais des différences subsistent selon le SGBD utilisé.
Introduction au SQL,
le langage des SGBD Relationnels
2. 2
Plan du cours
• Manipulation de tables
• Requêtes de consultation de tables
– Projection, Sélection, Jointure
– Tri, Agrégation, Partitionnement
• Requêtes de Modification de tables
– Ajout
– Suppression
3. 3
Types SQL
Type Taille
(Octets)
Signification
int 4 Valeur Entière
smallint 2 Valeur Entière
tinyint 1 Valeur Entière
float 4/8 Valeur Décimale
char
(longueur)
Fixe (max
255)
Chaîne de
caractères
varchar
(longueur)
Var (max
255)
Chaîne de
caractères
text Var (max
231-1)
Chaîne de
caractères
image Var (max
231-1)
Chaîne binaire
Type Taille
(Octets)
Signification
bit 1 Valeur Binaire
binary Fixe (max
255)
Chaîne binaire
varbinary Var (max
255)
Chaîne binaire
money 8 Valeur en $
datetime 24 octets Nb Jours depuis
1/1/1900 + Heure
5. 5
Création de table - Exemple
Créer la table Stock ( Pièce, Fournisseur, NbP)
CREATE TABLE Stock (
Pièce VARCHAR(20) NOT NULL,
Fournisseur CHAR(20) NOT NULL,
NbP INT,
PRIMARY KEY (Pièce, Fournisseur)
)
6. 6
Modification et Suppression de Relation
Modification de Schéma de relation (Syntaxe variable !)
Exemple pour Oracle v6 :
ALTER TABLE Table
[ADD (définition_attribut | Contrainte), [définition_attribut | Contrainte] ... )]
[MODIFY (définition_attribut [, définition_attribut ]... )]
[DROP CONSTRAINT contrainte]
Suppression complète d'une relation (et de son schéma) :
DROP TABLE Table;
Attention, toutes les données de la table sont perdues !
!
7. 7
Plan du cours
• Manipulation de tables
• Requêtes de consultation de tables
– Projection, Sélection, Jointure
– Tri, Agrégation, Partitionnement
• Requêtes de Modification de tables
– Ajout
– Suppression
8. 8
Projection
Syntaxe SQL :
SELECT [UNIQUE1] liste_attributs2 FROM Table ;
Équivalent AR :
liste_attributs R(Table)
1 Permet d'éliminer les doublons (on trouvera aussi DISTINCT)
2 On peut mettre une étoile * pour demander tous les attributs
On peut renommer un attribut en ajoutant AS NomAttribut
9. 9
Projection - Exemples
Soit la relation Étudiants (Num, Nom, Prénom, Age, Ville, CodePostal)
Donner les noms, les prénoms et les âges de tous les étudiants.
Afficher toute la relation Étudiant.
SELECT Nom, Prénom, Age FROM Étudiants;
SELECT * FROM Étudiants;
Donner les numéros des étudiants dans une colonne nommée Numéro.
SELECT Num AS Numéro FROM Étudiants;
10. 10
Sélection
Syntaxe SQL :
SELECT * FROM table WHERE condition;
Équivalent AR :
condition R(Table)
La condition peut formée sur des noms d'attributs ou des constantes avec
• des opérateurs de comparaison : =, >, <, <=, >=, <>1
• des opérateurs logiques : AND, OR, NOT
• des opérateurs : IN, BETWEEN+AND, LIKE, EXISTS, IS
• _ qui remplace un caractère et % qui remplace une chaîne de caractères
1 La différence est parfois notée !=
11. 11
Sélection – Exemples
Quels sont tous les étudiants âgés de 20 ans ou plus ?
SELECT * FROM Étudiants WHERE (Age >= 20);
Quels sont tous les étudiants âgés de 19 à 23 ans ?
SELECT * FROM Étudiants WHERE Age IN (19, 20, 21, 22, 23);
SELECT * FROM Étudiants WHERE Age BETWEEN 19 AND 23;
Quels sont tous les étudiants habitant dans les Vosges ?
SELECT * FROM Étudiant WHERE CodePostal LIKE '88%' ;
Quels sont tous les étudiants dont la ville est inconnue/connue ?
SELECT * FROM Étudiants WHERE Ville IS NULL ;
SELECT * FROM Étudiants WHERE Ville IS NOT NULL ;
Sur la relation Étudiants(Num, Nom, Prénom, Age, Ville, CodePostal)
13. 13
-Jointure
Syntaxe SQL :
SELECT *
FROM table1 [Alias1], ..., tablen [Aliasn],
WHERE condition;
Équivalent AR :
Table1 ... Tablen
Autre Syntaxe :
SELECT * FROM table1 INNER JOIN table2 ON condition;
Possibilité de Renommage des tables
14. 14
Jointure - Exemples
Soient les relations Produit (prod, nomProd, fournisseur, pu)
DétailCommande (num, #prod, pu, qte, remise)
Quels sont les numéros de commande correspondant à l'achat d'une table ?
Même requête, mais avec des alias pour les noms de relation :
SELECT num
FROM Produit p, DétailCommande dc
WHERE p.prod = dc.prod
AND nomProd LIKE ‘table’;
SELECT num
FROM Produit, DétailCommande
WHERE Produit.prod =DétailCommande.prod
AND nomProd LIKE ‘table’;
15. 15
Jointures par requêtes imbriquées
Une jointure peut aussi être effectuée à l'aide d'une sous-
requête.
SELECT *
FROM Stock
WHERE prod IN ( SELECT prod
FROM Produit)
Principe : Le mot-clef "IN" permet ici de sélectionner les
tuples prod appartenant à la sous-requête.
– La sous-requête ne doit retourner qu'une colonne !
– Les tables de sous-requêtes ne sont pas visibles depuis l'extérieur
Sous-requête imbriquée
!
16. 16
Une requête complexe
A partir des relations suivantes : Produit (prod, libellé, pu)
Stock (#prod, #dép, qté)
Dépôt(dép, adr, volume)
Quels sont les produits qui sont en rupture de stock ? (sans et avec imbrication)
SELECT p.prod, libellé, d.dép, adr
FROM Produit p, Dépôt d, Stock s
WHERE p.prod = s.prod
AND s.dép = d.dép
AND s.qte <= 0
SELECT p.prod, p.libellé, d.dép, adr
FROM Produit p, Dépôt d
WHERE p.prod IN ( SELECT prod
FROM Stock s
WHERE s.qté <= 0
AND p.prod = s.prod
AND s.dép = d.dép )
17. 17
Union, Intersection et Différence
Table1 Table2 : SELECT liste_attributs FROM table1
UNION
SELECT liste_attributs FROM table2 ;
Table1 Table2: SELECT liste_attributs FROM table1
INTERSECT
SELECT liste_attributs FROM table2 ;
Table1 – Table2 : SELECT liste_attributs FROM table1
EXCEPT
SELECT liste_attributs FROM table2 ;
18. 18
Tri de résultats
Syntaxe :
Cette clause se place derrière la clause WHERE
ORDER BY attribut [ordre] [, attribut [ordre] ...]
On peut préciser un ordre croissant ASC ou décroissant DESC.
Exemple
Trier Stock par numéro de produit croissant et par quantité décroissante
SELECT *
FROM Stock
WHERE qte > 0
ORDER BY prod ASC, qte DESC
19. 19
Agrégation des résultats
Il est possible d'utiliser des fonctions f d'agrégation dans le résultat d'une
sélection.
Syntaxe :
SELECT f ( [ ALL | DISTINCT ] expression)
FROM ...
où f peut être COUNT nombre de tuples
SUM somme des valeurs d'une colonne
AVG moyenne des valeurs d'une colonne
MAX maximum des valeurs d'une colonne
MIN minimum des valeurs d'une colonne
Pour COUNT, on peut aussi utiliser COUNT(*)
Seul COUNT prend en compte les valeurs à NULL.
20. 20
Fonctions d'agrégation - Exemples
Matière Coef Note
Maths 4 15
Sc Nat 3 9
Sc Phy 3 12
Français 2 13
Sc Hum 2 11
Anglais 1 10
Sport 1 12
Résultats (de Pierre)
SELECT COUNT(*) FROM Résultats WHERE Note > 12
2
SELECT MAX(Note) FROM Résultats 15
SELECT SUM(Note*Coef)/Sum(Coef) FROM Résultats
12,06
Quelle la somme pondérée des notes ?
Quelle est la meilleure note ?
SELECT SUM(Note*Coef) FROM Résultats 193
Quelle est la plus mauvaise note ?
SELECT MIN(Note) FROM Résultats 9
Quelle est la moyenne (pondérée) de Pierre ?
Dans combien de matières Pierre a-t-il eu plus de 12 ?
21. 21
Partitionnement des résultats
Syntaxe
GROUP BY liste_attributs
HAVING condition avec fonction
Cette clause regroupe les résultats par valeur selon la condition
Dans l'ordre, on effectue
• la sélection SELECT
• le partitionnement GROUP BY
• on retient les partitions intéressantes HAVING
• on trie avec ORDER BY.
22. 22
Partitionnement des résultats - Exemples
Matière Coef Note
Maths 4 15
Sc Nat 3 9
Sc Phy 3 12
Français 2 13
Sc Hum 2 11
Anglais 1 10
Sport 1 12
Résultats (de Pierre)
SELECT coef, Avg(note) as Moyenne
FROM Résultats
GROUP BY coef;
Coef Moyenne
1 11
2 12
3 10.5
4 15
Quelle est la note moyenne pour chaque coefficient ?
Quels sont les coefficients auxquels participe une seule
matière ?
SELECT coef
FROM Résultats GROUP BY coef
HAVING count(*)=1;
Coef
4
23. 23
Plan du cours
• Manipulation de tables
• Requêtes de consultation de tables
– Projection, Sélection, Jointure
– Tri, Agrégation, Partitionnement
• Requêtes de Modification de tables
– Ajout
– Suppression
24. 24
Ajouts de tuples dans une relation
Syntaxe :
Pour insérer un tuple complètement spécifié :
INSERT INTO Table VALUES (val1,..., valn);
Pour insérer un tuple incomplètement spécifié :
INSERT INTO Table (liste_attributs) VALUES (val1,..., valn);
On peut insérer un tuple à partir d'une relation ayant le même schéma.
INSERT INTO Table
SELECT *
FROM ...
25. 25
Exemples d'insertion
Sur les relations Étudiants (Num, Nom, Prénom, Age, Ville, CodePostal)
ClubThéâtre(Num, Nom, Prénom)
Ajouter l'étudiant Sylvain HEBON, 21 ans, habitant Nancy avec le numéro 634.
INSERT INTO Étudiants
VALUES (634, 'HEBON', 'Sylvain', 21,'Nancy', '54000');
Ajouter tous les étudiants Vosgiens dans le Club de Théâtre
INSERT INTO ClubThéâtre
SELECT Num, Nom, Prénom
FROM Étudiants
WHERE CodePostal LIKE '88%';
26. 26
Modification de tuples
Syntaxe :
UPDATE Table
SET attribut1 = expr1, ..., attributn = exprn
FROM ...
WHERE ...
Les expressions peuvent être
• une constante
• une valeur NULL
• une clause SELECT
27. 27
Mise à jour - Exemple
UPDATE Étudiants
SET Age = Age + 1;
Sur la relation Étudiants (Num, Nom, Prénom, Age, Ville, CodePostal)
Augmenter d'un an l'age de tous les étudiants.
On a appris que tous les étudiants de Bar-Le-Duc ont déménagé à Nancy.
UPDATE Étudiants
SET Ville = 'Nancy', CodePostal = '54000'
WHERE Ville = 'Bar-Le-Duc';
28. 28
Suppression de Tuples
Syntaxe :
DELETE FROM Table
[WHERE condition]
Remarque :
Si on supprime tous les tuples d'une relation,
le schéma de relation existe toujours !
Exemple :
Retirer de la liste tous les étudiants de plus de 22 ans.
DELETE FROM Étudiants
WHERE Age > 22;
!