Session BRE04 Help

Mini-Projet : 3WATrade

Étape 0

Créez un repository Github public avec un README et appelez le bre04-php-j4 et clonez-le dans le dossier sites/php de votre IDE.

Étape 1

Importez la base que vous trouverez ici dans votre PHPMyAdmin.

Étape 2

Dans un fichier requests.txt vous allez noter les requêtes permettant de répondre aux demandes suivantes :

  1. La liste de tous les utilisateurs

SELECT * FROM users;
  1. La liste de tous les utilisateurs rangée par noms de famille ;

SELECT * FROM users ORDER BY users.last_name ASC;
  1. Le dernier utilisateur inscrit ;

SELECT * FROM users ORDER BY users.registration_date DESC LIMIT 1;
  1. La liste de tous les utilisateurs fêtant leur anniversaire ce mois-ci ;

SELECT * FROM users WHERE MONTH(users.birthdate) = MONTH(CURRENT_TIMESTAMP);
  1. Le nombre total d'utilisateurs ;

SELECT COUNT(users.id) FROM users;
  1. La liste de tous les utilisateurs associés à leurs villes respectives ;

SELECT users.*, addresses.city FROM users JOIN addresses ON addresses.user_id = users.id;
  1. La liste de tous les utilisateurs vivant à une adresse sans numéro ;

SELECT users.* FROM users JOIN addresses ON addresses.user_id = users.id WHERE addresses.number IS NULL
  1. La liste de tous les produits dont le prix est supérieur à 1 000 € ;

SELECT * FROM products WHERE products.price > 1000;
  1. La liste de tous les produits associés à leurs photos respectives ;

SELECT products.*, pictures.* FROM products JOIN pictures ON products.id = pictures.product_id
  1. La liste de tous les produits appartenant à la catégorie « Voyage » ;

SELECT products.* FROM products JOIN products_categories ON products_categories.product_id = products.id JOIN categories ON categories.id = products_categories.category_id WHERE categories.title = "Voyage"
  1. La liste de tous les utilisateurs ayant effectué plus de dix commandes ;

SELECT users.* FROM users JOIN orders ON orders.user_id = users.id GROUP BY users.id HAVING COUNT(orders.id) > 10;
  1. La liste de tous les produits achetés par le premier utilisateur inscrit.

SELECT products.* FROM products JOIN products_orders ON products_orders.product_id = products.id JOIN orders ON orders.id = products_orders.order_id JOIN users ON users.id = orders.user_id WHERE users.registration_date IN ( SELECT MIN(users.registration_date) FROM users ); # ou SELECT products.* FROM products JOIN products_orders ON products_orders.product_id = products.id JOIN orders ON orders.id = products_orders.order_id JOIN users ON users.id = orders.user_id WHERE users.id = ( SELECT id FROM users ORDER BY users.registration_date ASC LIMIT 1 );
05 June 2025