Tableau comparatif
Caractéristique Base de donnée SQL Base de données
NoSQL
Type de données Structure( table avec de ligne et Non structurées( clé
des colonne) valeur, document,
colonne large et
graphe
schéma rigide flexible
requête Sql (langage de requête Dépend de base de
structure données
nosql(mongoDB…
Forte consistance Consistance
éventuelle
Inconvénient Moins flexible en terme de Plus difficile a gère
structure
avantages Ideal pour les données Gestion de grande
complexes volume
Apprendre le langage SQL (Structured Query Language) peut offrir plusieurs avantages, en particulier si vous travaillez avec des
bases de données ou dans des domaines nécessitant la gestion et l'analyse de données. Voici quelques objectifs finaux que vous
pourriez viser en apprenant SQL :
Gestion de Bases de Données : SQL est essentiel pour créer, modifier et gérer des bases de données relationnelles. Vous pouvez
créer des tables, définir des relations entre elles, et assurer l'intégrité des données.
Extraction de Données : SQL permet d'extraire des données spécifiques à partir de grandes quantités de données stockées dans
des bases de données. Vous pouvez écrire des requêtes pour filtrer, trier et agréger des données afin d'obtenir des
informations pertinentes.
Analyse de Données : Avec SQL, vous pouvez analyser les données de manière approfondie en utilisant des fonctions
d'agrégation (comme SUM, AVG, COUNT) et des opérations de jointure pour combiner des données provenant de plusieurs
tables.
Rapports et Visualisation : SQL est souvent utilisé pour préparer des ensembles de données à des fins de reporting et de
visualisation. Les outils de BI (Business Intelligence) comme Tableau ou Power BI utilisent souvent SQL pour interagir avec les
bases de données.
Optimisation des Performances : Connaître SQL vous permet d'optimiser les requêtes pour améliorer les performances des
bases de données, ce qui est crucial pour les applications avec des volumes de données importants.
Automatisation des Tâches : Vous pouvez automatiser des tâches répétitives liées à la gestion des données en écrivant des
scripts SQL, ce qui peut améliorer l'efficacité et réduire les erreurs humaines.
Développement d'Applications : De nombreux systèmes et applications utilisent des bases de données pour stocker et gérer des
données. SQL est souvent utilisé pour interagir avec ces bases de données dans le cadre du développement d'applications.
En somme, maîtriser SQL peut vous aider à manipuler, analyser, et comprendre les données de manière plus efficace, ce qui est
une compétence précieuse dans de nombreux domaines professionnels.
Les système de gestion de base de
donnée
Oracle database,
mysql, sql sever,
postgresql, sqlite
schemas
Un **schéma** en SQL fait référence à la structure et à l'organisation
des objets dans une base de données. Il peut être vu de deux
manières différentes selon le contexte :
1. **Schéma d'une base de données** : Un schéma est un
ensemble logique d'objets de base de données (comme des
tables, des vues, des procédures de stockage , des fonctions, etc.)
qui appartiennent à une base de données spécifique. Il permet de
structurer et d'organiser ces objets dans des espaces de noms
séparés, ce qui est particulièrement utile dans les grandes bases de
données avec plusieurs utilisateurs ou systèmes.
Apprendre a construire une
requête sql
Select*
From table;
La commande SQL: select est une commande sql: elle indique nous voulons
recouper des données. D’autres commande existe
* après le select signifie que nous voulons sélectionner toutes les colonnes. Si nous
voulons quelques une nous pouvons les lister separer par des virgule
From : c’est un clause sql qui signifie la table a partie de laquelle récupérer les
données
Table: c’est le nom de la table à la quelle nous voulons récupérer des données
Apprendre a construire une
requête sql
Select*
From shéma 1; -- voici un commentaire
/*
Et voici un commentaire plus long!
*/
Apprendre a construire une
requête sql
SELECT DISTINCT column_name
Fom table_name
Cette commande est utiliser pour retourner uniquement les valeurs
distinctes(différentes) dans la colonne spécifiées. Elle élémine les doublons dans
le résultats de la requêtes
Select product_name select distinct
product_name
from products;
from products;
Product name
Product name
Velo deroute
Velo de route
Casque de velo Casque de velo
Velo de route Velo de montage
Gants de cyclisme
Gants de cyclisme
Velo de montage
Casque de velo
Velo de rouge
Filtre simple et condition unique
Select column1, column2
From table name
WERE condition;
Select column1, column2
From table name
WERE column2=3;
L’oparateur logique « and »
Selection si les deux condition sont vrai
Select*
From production.product
blanc >80$ Where color=‘white’ AND
price>80
La phrase c’est afficher moi les produit de couleur
blanche avec un prix superieur a 80$
L’oparateur logique « OR»
Sélection si un des condition des vrai
Select*
From production.product
blanc >80$ Where color=‘white’ OR
price>80
La phrase c’est afficher moi les produit de couleur
blanche OU un prix supérieur a 80$
L’oparateur logique « NOT»
Sélection si la condition n’est pas vrai
Select*
From production.product
Where not color=‘white’
blanc
Select*
From production.product
Where not color=‘white’ AND
price>80
La phrase c’est afficher moi les produit de couleur
sauf la blanche
Priorité: (Comparaison d’operateur)
Select*
From production.product
blanc >80$ >70$ Where (color=‘white’ AND
noir price>80)or(color=‘black’ AND
price >70) price >70)
Filtre avancé
Filtre where + IN / NOT IN( est dans)
SELECT*
From employée
Where department IN ( ‘sales’ ,’marketing’,’hr’);
In est utiliser pour filtrer les resultats basés sur une liste de valeur specifique . Dans
notre exemple , tout les employés qui travaillent dans les departement sales,
marketing, HR sont selectionné. NOT IN C’est le contraire. Faite attention au cas
ou le departement contien de valeur null: il faudrait aujouté. Where department
not in (‘sales’, ‘marketing’) or department is null;
Where + BETWEEN
SELECT*
From production. Product
Where price between 50 and 100;
Between est utiliser pour filtrer des resultat basé sur une plage de
valeur. Respecter l’ordre : (50, 100): le contraire c’est not between
Between est inclusif
Not between est inclusif
Between peut etre appliquer sur des date
Where price between ‘2021-07-01 and ‘2021-07-30’
Filtre where + like
Il est utiliser pour filtre les résultats basé sur des modeles de chaines de caractères . Il
utilise des caractères générique pour repensente d’autres caractere les deux
caractere generique les plus courantes utiliser % et _
Exemple
Select *
Select * From table
Select *
From table Where name
From table
Where name like’ _o%’; ilike ’’%john%’’;
Where name like’Jo%’;
Ce qui signifie de retrouver tout les Ce qui signifie de
Ce qui signifie de retrouver tout les
nom qui ‘o’ comme deuxième retouver tout les nom
nom commencent par ‘Jo’
lettre john que le j soit muni
ou maj
Le contraire c’est nolike Au on peut avoir where column like ‘%\ %%’ ESCAPE ‘\’;
Order by et limit
Seclect*
From production.Product
Where price not between 50 and 100
Order by product name
Limit 10;
Order by est utiliser pour trier les resultats d’une requete en fonction d’une ou
plusieurs colonnes. Elle peut combines avec limite pour restreindre le nombre de
ligne retournées
On peut utiliser DESC, ASC pour indique l’ordre alphabétique
Offset permet de spécifier caracteristique : LIMIT 10 OFFSET 10; signifie de limité
sur 10 colonne mais en sautant les 10 premiere colonnes
GROUPE BY, HAVING et les Alias
Select column_name, COUNT(*)
From table_name
GROUP BY column_name
Order by column_name
GROUPE BY est utilisé pour regrouper les lignes qui ont les mm valeur dans
la colonne specifiées en groupe. Elle est souvant utilisée avec des
fontions d’agreation ( count ,max, min,sum,avg) pour effctuer une
operation sur chaque groupe
On peut appliquer sur plusieurs agregation
Select vendeur ,max(quantité),sum(quantité),avg(quantité)
From vente
Group by vendeur;
La position groupe by compte toujours après le from et avant le order by
Point important
HAVING
Select category, COUNT(*)
From product
Groupe by category
Having count(*)>10;
Il est utiliser pour filtrer les resultat apres un GROUP BY par exemple : pour obtenir
les categorie ayant plus de 10 produit
alias
Select category, count(*) AS product_name
From products
Group by category
Il est utiliser pour atribuer a une table ou à une colonne pour la
durée une requête specifique. Les alias sont utiliser pour simplifier les
requêtes rendre les resulats plus lisibles et permettre des opérations
plus complexes.