Partielo | Créer ta fiche de révision en ligne rapidement
Post-Bac

SQL BTS CG

Fiche de Révision

I. Structure de Base d'une Requête SQL


1. Ordre d'écriture standard


SELECT colonnes

FROM table

WHERE conditions

GROUP BY colonnes_de_groupement

HAVING conditions_sur_les_groupes

ORDER BY colonnes_de_tri;


2. Les clauses principales

- **SELECT** : Choisir les colonnes à afficher

- **FROM** : Spécifier la table source

- **WHERE** : Filtrer les lignes

- **GROUP BY** : Grouper les données

- **HAVING** : Filtrer les groupes

- **ORDER BY** : Trier les résultats


II. Requêtes de Base


1. Sélection simple


SELECT * FROM clients;

SELECT nom, prenom FROM employes;



2. Avec conditions (WHERE)


SELECT * FROM ventes WHERE montant > 1000;

SELECT * FROM produits WHERE categorie = 'Informatique';


3. Opérateurs de comparaison

- `=`, `<>` ou `!=` (différent)

- `>`, `<`, `>=`, `<=`

- `BETWEEN` (entre deux valeurs)

- `IN` (dans une liste)

- `LIKE` (recherche de motif)


III. Requêtes de Tri (ORDER BY)


1. Tri simple


SELECT * FROM produits ORDER BY prix;

SELECT * FROM clients ORDER BY nom ASC;



2. Tri multiple


SELECT * FROM ventes 

ORDER BY date_vente DESC, montant ASC;



3. Directions de tri

- `ASC` : Croissant (par défaut)

- `DESC` : Décroissant


IV. Requêtes de Calcul


1. Fonctions d'agrégation


SELECT COUNT(*) FROM clients;

SELECT SUM(montant) FROM ventes;

SELECT AVG(prix) FROM produits;

SELECT MAX(salaire) FROM employes;

SELECT MIN(stock) FROM articles;


2. Calculs simples


SELECT nom, prix * 1.20 AS prix_ttc 

FROM produits;


SELECT nom, salaire * 12 AS salaire_annuel 

FROM employes;



V. Requêtes de Regroupement (GROUP BY)


1. Regroupement simple


SELECT categorie, COUNT(*) 

FROM produits 

GROUP BY categorie;


SELECT ville, AVG(salaire) 

FROM employes 

GROUP BY ville;



2. Avec condition HAVING


SELECT categorie, AVG(prix) 

FROM produits 

GROUP BY categorie 

HAVING AVG(prix) > 50;


SELECT departement, COUNT(*) 

FROM employes 

GROUP BY departement 

HAVING COUNT(*) > 5;



VI. Requêtes Spécifiques pour la Comptabilité


1. Jointures (pour relier les tables)


SELECT c.nom, v.montant, v.date_vente

FROM clients c

INNER JOIN ventes v ON c.id = v.client_id;



2. Requêtes sur les écritures comptables


SELECT compte, SUM(debit) AS total_debit, SUM(credit) AS total_credit

FROM ecritures

GROUP BY compte

HAVING SUM(debit) <> SUM(credit);



3. Calcul de soldes


SELECT compte, 

    SUM(debit) - SUM(credit) AS solde

FROM ecritures

GROUP BY compte;



VII. Bonnes Pratiques


- Toujours tester les requêtes sur un jeu d'essai

- Utiliser des alias pour les noms de colonnes calculées

- Commenter les requêtes complexes

- Vérifier les performances sur de grandes tables


VIII. Exemple Complet



SELECT 

  c.categorie,

  COUNT(*) AS nombre_produits,

  AVG(p.prix) AS prix_moyen,

  SUM(p.stock) AS stock_total

FROM produits p

WHERE p.prix > 10

GROUP BY c.categorie

HAVING COUNT(*) > 2

ORDER BY prix_moyen DESC;


Post-Bac

SQL BTS CG

Fiche de Révision

I. Structure de Base d'une Requête SQL


1. Ordre d'écriture standard


SELECT colonnes

FROM table

WHERE conditions

GROUP BY colonnes_de_groupement

HAVING conditions_sur_les_groupes

ORDER BY colonnes_de_tri;


2. Les clauses principales

- **SELECT** : Choisir les colonnes à afficher

- **FROM** : Spécifier la table source

- **WHERE** : Filtrer les lignes

- **GROUP BY** : Grouper les données

- **HAVING** : Filtrer les groupes

- **ORDER BY** : Trier les résultats


II. Requêtes de Base


1. Sélection simple


SELECT * FROM clients;

SELECT nom, prenom FROM employes;



2. Avec conditions (WHERE)


SELECT * FROM ventes WHERE montant > 1000;

SELECT * FROM produits WHERE categorie = 'Informatique';


3. Opérateurs de comparaison

- `=`, `<>` ou `!=` (différent)

- `>`, `<`, `>=`, `<=`

- `BETWEEN` (entre deux valeurs)

- `IN` (dans une liste)

- `LIKE` (recherche de motif)


III. Requêtes de Tri (ORDER BY)


1. Tri simple


SELECT * FROM produits ORDER BY prix;

SELECT * FROM clients ORDER BY nom ASC;



2. Tri multiple


SELECT * FROM ventes 

ORDER BY date_vente DESC, montant ASC;



3. Directions de tri

- `ASC` : Croissant (par défaut)

- `DESC` : Décroissant


IV. Requêtes de Calcul


1. Fonctions d'agrégation


SELECT COUNT(*) FROM clients;

SELECT SUM(montant) FROM ventes;

SELECT AVG(prix) FROM produits;

SELECT MAX(salaire) FROM employes;

SELECT MIN(stock) FROM articles;


2. Calculs simples


SELECT nom, prix * 1.20 AS prix_ttc 

FROM produits;


SELECT nom, salaire * 12 AS salaire_annuel 

FROM employes;



V. Requêtes de Regroupement (GROUP BY)


1. Regroupement simple


SELECT categorie, COUNT(*) 

FROM produits 

GROUP BY categorie;


SELECT ville, AVG(salaire) 

FROM employes 

GROUP BY ville;



2. Avec condition HAVING


SELECT categorie, AVG(prix) 

FROM produits 

GROUP BY categorie 

HAVING AVG(prix) > 50;


SELECT departement, COUNT(*) 

FROM employes 

GROUP BY departement 

HAVING COUNT(*) > 5;



VI. Requêtes Spécifiques pour la Comptabilité


1. Jointures (pour relier les tables)


SELECT c.nom, v.montant, v.date_vente

FROM clients c

INNER JOIN ventes v ON c.id = v.client_id;



2. Requêtes sur les écritures comptables


SELECT compte, SUM(debit) AS total_debit, SUM(credit) AS total_credit

FROM ecritures

GROUP BY compte

HAVING SUM(debit) <> SUM(credit);



3. Calcul de soldes


SELECT compte, 

    SUM(debit) - SUM(credit) AS solde

FROM ecritures

GROUP BY compte;



VII. Bonnes Pratiques


- Toujours tester les requêtes sur un jeu d'essai

- Utiliser des alias pour les noms de colonnes calculées

- Commenter les requêtes complexes

- Vérifier les performances sur de grandes tables


VIII. Exemple Complet



SELECT 

  c.categorie,

  COUNT(*) AS nombre_produits,

  AVG(p.prix) AS prix_moyen,

  SUM(p.stock) AS stock_total

FROM produits p

WHERE p.prix > 10

GROUP BY c.categorie

HAVING COUNT(*) > 2

ORDER BY prix_moyen DESC;


Retour

Actions

Actions