=====Construire des requêtes d’interrogation à l’aide des clauses du langage SQL : SELECT, FROM, WHERE, JOIN.=====
**-** Avant de commencé a manipulé une base de donné il faut crée une table ([[les_fiches_revisions:bases_de_donnes:base_de_donnees_relationelle|Base de données relationnelle]])
CREATE TABLE nom_de_la_table
(id INT, titre TEXT, auteur TEXT, ann_publi INT, note INT);
La seconde ligne de code permet de crée une ''en-tête'' à la relation. (voir les [[les_fiches_revisions:bases_de_donnes:base_de_donnees_relationelle|Base de données relationnelle]]) Les ''INT'', ''TEXT'' donnerons quel type de donné sera stocké dans l'attribut.
Si on veut préremplir une Table il faut ajouté à la suite ''VALUES'' et les donnés qu'on veux y mettre:
INSERT INTO LIVRES
(id,titre,auteur,ann_publi,note)
VALUES
(1,'1984','Orwell',1949,10),
(2,'Dune','Herbert',1965,8),
____
Pour regarder ce qu'on a dans notre base de donnée:
* Il faut choisir quel groupe d'attribut on veux choisir. ''SELECT'' suivi des attributs qu'on veut affiché. Si on veut sélectionner tout les attributs il faut mettre un ''*''
* Il faut choisir la table qu'on va utilisé. ''FROM''
SELECT *
FROM LIVRES
Il est possible d'imposé des conditions pour sélectionné seulement certaine ligne avec ''WHERE''.
SELECT titre, ann_publi
FROM LIVRES
WHERE auteur='Asimov'
On peut aussi combiner les conditions ''OR'' et ''AND''
SELECT titre, ann_publi
FROM LIVRES
WHERE auteur='Asimov' AND ann_publi>1953
Il est possible de rajouter la clause ''ORDER BY'' qui permet de trié dans un ordre précis. Si on rajoute ''DESC'' a la fin, on inverse le sens de l'ordre.
SELECT titre
FROM LIVRES
WHERE auteur='K.Dick' ORDER BY ann_publi DESC
Quand on sélectionne l'attribut le groupe de l'attribut on peut évité les doublons grâce à l'ajout de ''DISTINCT'' a la suite de ''SELECT''
SELECT DISTINCT auteur
FROM LIVRES
----
Si on a deux table on peu joindre l'une à l'autre.
Si on crée deux tables:
INSERT INTO AUTEURS
(id,nom,prenom,ann_naissance,langue_ecriture)
VALUES
(1,'Orwell','George',1903,'anglais'),
(2,'Herbert','Frank',1920,'anglais'),
INSERT INTO LIVRES
(id,titre,id_auteur,ann_publi,note)
VALUES
(1,'1984',1,1949,10),
(2,'Dune',2,1965,8),