Bonjours a vous je suis nouveaux dans le domaine de MySQL j'utilise PHPmyAdmin, je suis présentement a l’école en programmation web je fais un devoir que je tien a dire qu'il n'est pas comptabilisé et j'ai 50 question a répondre et je bloque sur 5 d'entre eu et j'aimerais avoir de votre aide pour compléter le tout si possible avec explication pour mieux comprendre la syntaxe qui parfois peut être complexe.
premièrement je vais présenter ma base de donné qui contient en autre de l'immobilier classé par ville, année, chauffé au gaz et ect....
donc je vais mètre mon code ici.
1: Creation de ma base de donné
2:création de la table annonces
Code : Sélectionner tout - Visualiser dans une fenêtre à part CREATE DATABASE immobilier DEFAULT CHARACTER SET utf8mb4;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 CREATE TABLE annonces ( id_annonce INT UNSIGNED AUTO_INCREMENT, genre_propriete VARCHAR(255) NOT NULL, adresse_rue VARCHAR(255) NOT NULL, adresse_ville VARCHAR(255) NOT NULL, adresse_code_postal VARCHAR(255) NOT NULL, adresse_pays VARCHAR(255) NOT NULL, annee_construction INT NOT NULL, superficie_habitable INT UNSIGNED NOT NULL, nb_pieces INT UNSIGNED NOT NULL, nb_chambres INT UNSIGNED NOT NULL, energie_chauffage VARCHAR(255) NOT NULL, proximite VARCHAR(255) NOT NULL, prix INT UNSIGNED NOT NULL, PRIMARY KEY(id_annonce) ) ENGINE=INNODB;
3: je rajoute les info a ma table annonces
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 INSERT INTO annonces(genre_propriete,adresse_rue,adresse_ville,adresse_code_postal,adresse_pays,annee_construction,superficie_habitable,nb_pieces,nb_chambres,energie_chauffage,proximite,prix) VALUES("maison à étages", "10 rue Papineau", "Montréal", "H2J3E9", "Canada", 1990, 300, 8, 5, "gaz naturel", "école, bus, métro", 750000), ("maison de plain-pied", "1024E rue Sainte-Catherine", "Montréal", "H3C4F8", "Canada", 1952, 250, 7, 4, "électricité", "école, commerces, métro", 830000), ("maison à étages", "2030 bd des Laurentides", "Laval", "H7H3A2", "Canada", 1979, 350, 9, 5, "gaz naturel", "parc, commerces, métro", 950000), ("appartement", "3024 rue Laurier", "Montréal", "H2J4E7", "Canada", 2005, 210, 5, 3, "gaz naturel", "parc, école, commerces, métro", 540000), ("maison à étages", "500 rue Lessard", "Montréal", "H3H8C3", "Canada", 1960, 280, 8, 4, "électricité", "école, bus", 820000), ("maison à étages", "312 rue Jean Béliveau", "Longueuil", "J3V5J6", "Canada", 1992, 270, 8, 4, "gaz naturel", "commerces, bus", 730000), ("maison à étages", "1200 bd Lépine", " Longueuil ", "J3V6P4", "Canada", 1990, 250, 6, 4, "gaz naturel", "école, piscine, métro", 690000), ("Appartement", "12 rue des trembles", "Montréal", "H1J9Q2", "Canada", 2010, 180, 5, 3, "électricité", " commerces, bus", 460000), ("maison de plain-pied", "738 rue Villeneuve", " Longueuil", "J3Y0A7", "Canada", 2011, 205, 6, 3, "gaz naturel", "parc, métro, université", 685000), ("Appartement", "738 Papineau", "Montréal", "H2J3K5", "Canada", 1996, 150, 6, 4, "électricité", "parc, piscine", 570000), ("maison à étages", "1523 rue Saint-Denis", "Montréal", "H1N5C4", "Canada", 2002, 230, 7, 4, "gaz naturel", "école, commerces, bus, métro, hôpital", 530000), ("maison de plain-pied", "23 rue de Strasbourg", " Laval", "H7K2B4", "Canada", 2010, 190, 6, 3, "gaz naturel", "train, bus, métro", 495000);
Donc voila on n'a présentement une base de donné fonctionnelle pour ceux et celle qui veulent tester et voici les 5 question au quel je coince.
Question 1/5: EDIT: trouvé. mais besoin de confirmation.
Donner la commande de sélection qui affiche le nombre de valeurs différentes des champs "genre_propriete", "adresse_ville", "energie_chauffage", "annee_construction" et des 3 premières lettres du champ "adresse_cp".
Question 2/5
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT COUNT(DISTINCT(genre_propriete)) AS "Nombre de genres", COUNT(DISTINCT(adresse_ville)) AS "Nombre de villes", COUNT(DISTINCT(energie_chauffage)) AS "Nombre de types de chauffages", COUNT(DISTINCT(annee_construction)) AS "Nombre d'années de constructions", SUBSTR(adresse_cp, 1, 3) AS "3 premiere lettre CP" FROM annonces
Donner la commande de sélection des annonces dont le prix au m2 (l'unité du champ "superficie_habitable" est le m2) est inférieur à 2700 $, et qui sont situées à Montréal ou sont une maison de plain-pied peu importe sa localisation.
Question 3/5 EDIT:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT * FROM annonces WHERE (prix/superficie_habitable<2700 AND adresse_ville="Montréal") OR (genre_propriete="maison de plain-pied");
Donner la commande de sélection qui affiche le prix moyen des annonces par ville et par type d'énergie de chauffage, en triant le résultat par ville puis par type d'énergie.
Question 4/5
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT adresse_ville AS ville,ROUND(AVG(prix)) AS "prix moyen" , energie_chauffage AS "Type d'energie" FROM annonces GROUP BY adresse_ville
Donner la commande de sélection pour afficher les annonces qui se trouvent à proximité de commerces ou d'une université, et à proximité d'un parc, sans utiliser de fonctions.
Question 5/5
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT * FROM annonces WHERE proximite REGEXP "commerces" OR proximite REGEXP "université" OR proximite REGEXP "parc"
Reprendre la commande précédente en utilisant des fonctions. reprend la question 4/5
La question 5 elle me semble tellement facile mais j'ai rien trouvé sur le web peut-être du a une mauvaise formulation sur google. quand on parle de reprendre la commande précédente c'est l'équivalent du bouton "Récupérer la requête auto-sauvegardée" qui est dans PhpmyAdmin -> SQL ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT * FROM annonces WHERE proximite LIKE "%commerces%" OR proximite LIKE "%université%" OR proximite LIKE "%parc%"
Partager