Outils pour utilisateurs

Outils du site


les_programmes_a_connaitre:bases_de_donnees_term:sql_interrogation

Ceci est une ancienne révision du document !


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 (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 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'),
(3,'Asimov','Isaac',1920,'anglais'),
(4,'Huxley','Aldous',1894,'anglais'),
(5,'Bradbury','Ray',1920,'anglais'),
(6,'K.Dick','Philip',1928,'anglais'),
(7,'Barjavel','René',1911,'français'),
(8,'Boulle','Pierre',1912,'français'),
(9,'Van Vogt','Alfred Elton',1912,'anglais'),
(10,'Verne','Jules',1828,'français');
INSERT INTO LIVRES
(id,titre,id_auteur,ann_publi,note)
VALUES
(1,'1984',1,1949,10),
(2,'Dune',2,1965,8),
(3,'Fondation',3,1951,9),
(4,'Le meilleur des mondes',4,1931,7),
(5,'Fahrenheit 451',5,1953,7),
(6,'Ubik',6,1969,9),
(7,'Chroniques martiennes',5,1950,8),
(8,'La nuit des temps',7,1968,7),
(9,'Blade Runner',6,1968,8),
(10,'Les Robots',3,1950,9),
(11,'La Planète des singes',8,1963,8),
(12,'Ravage',7,1943,8),
(13,'Le Maître du Haut Château',6,1962,8),
(14,'Le monde des Ā',9,1945,7),
(15,'La Fin de l’éternité',3,1955,8),
(16,'De la Terre à la Lune',10,1865,10);
les_programmes_a_connaitre/bases_de_donnees_term/sql_interrogation.1611658491.txt.gz · Dernière modification: 2021/01/26 11:54 de qt