Advertisement
Guest User

Untitled

a guest
Apr 4th, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.26 KB | None | 0 0
  1. - Démarrage
  2. docker container run -e POSTGRES_PASSWORD=pwsd -e POSTGRES_USER=user --name axelle -d postgres:11.2-alpine
  3. docker exec -it axelle bash
  4. psql -U user
  5. CREATE DATABASE mydb;
  6.  
  7. - Créer tables users, produits, commandes, adresse des users
  8. users: CREATE TABLE users (id BIGSERIAL, name TEXT, password TEXT);
  9. products : CREATE TABLE products (id BIGSERIAL, name TEXT, description TEXT);
  10. products_orders : CREATE TABLE products_orders (id BIGSERIAL, userId BIGINT, productsId BIG
  11. INT);
  12. users_adress : CREATE TABLE users_adress (id BIGSERIAL, userId BIGINT);
  13.  
  14. - Donnez les users qui ont des commandes
  15. SELECT * FROM users u INNER JOIN products_orders po ON u.id = po.userId;
  16.  
  17. - Donnez les users qui n'ont pas de commandes
  18. SELECT * FROM users u FULL OUTER JOIN products_orders po ON u.id = po.use
  19. rId WHERE po.userId IS NULL OR po.productsId IS NULL;
  20.  
  21. - Donnez les adresses des users qui ont commandé
  22. SELECT ua.* FROM users_adress ua INNER JOIN users u ON u.id = ua.userId INNER JOIN products_orders po ON po.userId = u.id;
  23.  
  24. - Donnez le nombre de commande par mois
  25. SELECT COUNT(*), DATE_PART('month', date) as mypart FROM products_orders
  26. GROUP BY mypart;
  27.  
  28. - Donnez la moyenne des id de commandes
  29. SELECT avg(id), DATE_PART('month', date) as mypart FROM products_orders GROUP BY mypart;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement