
Sources :
https://www.linkedin.com/business/talent/blog/talent-strategy/linkedin-most-in-demand-hard-and-soft-skills
https://survey.stackoverflow.co/2023/#most-popular-technologies-language-prof
Lien vers PostgreSQL : https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
Ou le lien direct : https://www.postgresql.org/download/
Pour vous aider en cas de difficultés, voici le code SQL final de la session suivante. Vous pouvez également vous entrainer, en l'écrivant avec moi.
CREATE TABLE commandes (
ligne_id SERIAL PRIMARY KEY,
Commande_id INTEGER NOT NULL,
client_id INTEGER NOT NULL,
produit_id INTEGER NOT NULL,
quantite INT NOT NULL,
prix_total DECIMAL(10,2) NOT NULL,
FOREIGN KEY (client_id) REFERENCES clients(client_id),
FOREIGN KEY (produit_id) REFERENCES produit(produit_id)
);
Pour vous aider en cas de difficultés, voici le code SQL final de la session suivante. Vous pouvez également vous entrainer, en l'écrivant avec moi.
INSERT INTO produit (produit_id, nom_produit, categorie, prix) VALUES
(501, 'Ordinateur Portable', 'Electronique', 899.99),
(502, 'Chaise de Bureau', 'Mobilier', 120.50),
(503, 'Stylo à Bille', 'Fournitures de bureau', 1.20),
(504, 'Cafetière', 'Electroménager', 45.00),
(505, 'Téléphone', 'Electronique', 650.75);
INSERT INTO clients (email_client, client_id, carte_fidelite, nom_client)
VALUES
('jean.dupont@email.com’, 101, TRUE, 'Jean Dupont'), ('marie.martin@email.com’, 102, FALSE, 'Marie Martin'), ('paul.lefevre@email.com’, 103, TRUE, 'Paul Lefevre’),
(‘sophie.durand@email.com’, 104, TRUE, ‘Sophie Durand’),
(‘luc.bernard@email.com’, 105, TRUE, ‘Luc Bernard');
Pour vous aider en cas de difficultés, voici le code SQL final de la session suivante. Vous pouvez également vous entrainer, en l'écrivant avec moi.
CREATE TABLE detail_commande (
id SERIAL PRIMARY KEY,
commande_id INTEGER NOT NULL,
details JSONB NOT NULL );
INSERT INTO detail_commande (commande_id, details)
VALUES
(1, '{"produit": "Vélo", "quantite": 2, "prix_unitaire": 250.50}’),
(2, '{"produit": "Casque", "quantite": 1, "prix_unitaire": 50.00}’),
(3, '{"produit": "Gants", "quantite": 3, "prix_unitaire": 15.20}’),
(4, '{"produit": "Sonnette", "quantite": 1, "prix_unitaire": 8.75}’),
(5, '{"produit": "Lumière", "quantite": 2, "prix_unitaire": 12.90}');
Pour vous aider en cas de difficultés, voici le code SQL final de la session suivante. Vous pouvez également vous entrainer, en l'écrivant avec moi.
Exemple 1
SELECT C.CustomerID, C.PersonID
FROM Sales.Customer AS C
WHERE EXISTS ( SELECT 1
FROM Sales.SalesOrderHeader AS S
WHERE S.CustomerID = C.CustomerID AND S.TotalDue >= 1000
);
Exemple 2
SELECT P.ProductID, P.Name, P.ListPrice, PS.Name AS SubcategoryName FROM Production.Product AS P
JOIN Production.ProductSubcategory AS PS
ON P.ProductSubcategoryID = PS.ProductSubcategoryID
WHERE P.ListPrice > ( SELECT AVG(P2.ListPrice)
FROM Production.Product AS P2 WHERE P2.ProductSubcategoryID = P.ProductSubcategoryID
);
Exemple 3
SELECT C.CustomerID, C.personID, Sales.salesorderID, Sales.totaldue
FROM Sales.Customer AS C
INNER JOIN Sales.Salesorderheader AS Sales
ON C.CustomerID = Sales.CustomerID
WHERE EXISTS ( SELECT 1
FROM Sales.Salesorderheader AS O
WHERE O.CustomerID = C.CustomerID
AND O.TotalDue > ( SELECT AVG(O2.TotalDue)
FROM Sales.Salesorderheader AS O2
WHERE O2.CustomerID = C.CustomerID )
);
Pour vous aider en cas de difficultés, voici le code SQL final de la session suivante. Vous pouvez également vous entrainer, en l'écrivant avec moi.
Exemple 1
CREATE VIEW v_Products_High_Revenue AS
SELECT S.ProductID, SUM(S.OrderQty * S.UnitPrice) AS TotalRevenue
FROM Sales.SalesOrderDetail AS S
GROUP BY S.ProductID
HAVING SUM(S.OrderQty * S.UnitPrice) > (
SELECT AVG(OrderQty * UnitPrice) * COUNT(DISTINCT ProductID) FROM Sales.SalesOrderDetail )
ORDER BY TotalRevenue DESC;
Exemple 2
CREATE VIEW v_SalespersonDetails AS
SELECT businessentityID, territoryID, rowguid, modifieddate
FROM sales.salesperson;
ALTER TABLE produit ADD COLUMN stock INT;
UPDATE produit SET stock = 100;
CREATE OR REPLACE PROCEDURE AjouterCommandeEtMettreAJourStock(
p_Commande_id INT,
p_client_id INT,
p_produit_id INT,
p_quantite INT,
p_prix_total NUMERIC
)
LANGUAGE plpgsql
AS $$
BEGIN
-- Ajouter la commande
INSERT INTO commandes (Commande_id, client_id, produit_id, quantite, prix_total)
VALUES (p_Commande_id, p_client_id, p_produit_id, p_quantite, p_prix_total);
-- Mettre à jour le stock
UPDATE produit SET stock = stock - p_quantite
WHERE produit_id = p_produit_id;
END;
$$;
Pour vous aider en cas de difficultés, voici le code SQL final de la session suivante. Vous pouvez également vous entrainer, en l'écrivant avec moi.
CREATE OR REPLACE FUNCTION mise_a_jour_stock() RETURNS TRIGGER AS $$
BEGIN
-- Soustraire la quantité commandée du stock du produit
UPDATE produit
SET stock = stock - NEW.quantite
WHERE produit_id = NEW.produit_id;
RETURN NEW; -- Important pour les déclencheurs
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER trigger_mise_a_jour_stock
AFTER INSERT ON commandes
FOR EACH ROW EXECUTE FUNCTION mise_a_jour_stock();
INSERT INTO commandes (Commande_id, client_id, produit_id, quantite, prix_total) VALUES (2005, 102, 505, 3, 1952.25);
Lien vers Google Collab : https://colab.research.google.com/
Lien vers Kaggle : https://www.kaggle.com/datasets/kaggle/sf-salaries
Lien vers Big Query : https://cloud.google.com/bigquery?hl=fr
Lien vers Kaggle : https://www.kaggle.com/datasets/nelgiriyewithana/countries-of-the-world-2023
bonjour à tous ! Vous avez soif d'apprendre le SQL de manière approfondie ? Vous êtes exactement là où il faut être !
SQL, c'est LE langage incontournable dans le monde de la data. Que vous soyez déjà un expert ou un pur débutant, maîtriser SQL, c'est ouvrir la porte à d'innombrables opportunités professionnelles.
Je suis Sébastien, consultant en Data Analytics depuis 8 ans. J'ai formé des milliers d'étudiants sur des outils comme Excel, Power BI, Python et bien sûr, la data science.
Dans ce cours de 17 heures, je vous emmène dans un voyage passionnant :
D'abord, les bases du SQL et la compréhension des bases de données.
Ensuite, l'art de l'analyse de données avec des requêtes.
La création d'une base de données à partir de zéro.
Une exploration des fonctions SQL.
Et pour les plus avancés, nous plongerons dans des sujets comme les vues, les sous-requêtes, et bien plus encore.
Mais attendez, ce n'est pas tout ! Nous allons aussi voir comment :
Intégrer SQL avec Python.
Explorer des bases de données avec Big Query.
Créer des rapports époustouflants avec SQL et Power BI.
Et pour les curieux, nous explorerons DUCKDB, une tendance montante.
Ici, pas de théorie ennuyeuse ! Vous allez travailler sur des cas concrets, suivre mes manipulations en temps réel, relever des défis avec des exercices et tester vos connaissances avec des QCM.
Alors, prêts à booster vos compétences en SQL ? Rejoignez moi dès maintenant pour les premières sessions de ce cours !