Bonjour à tous,
Maintenant que nous savons insérer des données, les mettre à jour et les supprimer nous allons voir comment les afficher en utilisant les différents modes de sélection. La semaine prochaine nous verrons l’équivalent de ces requêtes en algèbre relationnel, qui est une représentation plus mathématique.
Projection :
SELECT col1, col2
FROM nomTable
;
Restriction :
SELECT col1, col2
FROM nomTable
WHERE condition
;
Union :
SELECT col1, col2
FROM table1
UNION
SELECT col1, col3
FROM table2
;
Intersection :
SELECT col1, col2
FROM table1
INTERSECT
SELECT col1, col3
FROM table2
;
Différence :
SELECT col1, col2
FROM table1
MINUS
SELECT col1, col3
;
Produit cartésien :
SELECT *
FROM table1, table2
;
JOINTURES :
Jointure naturelle :
Intersection de r1 et r2 s’ils ont des attributs en commun.
Équi-jointure :
SELECT *
FROM r1, r2
WHERE r1.col1 = r2.col1
;
Théta-jointure :
SELECT *
FROM r1, r2
WHERE condition
;
Auto-jointure :
SELECT DISTINCT P2.nom
FROM Personnes P1, Personnes P2
WHERE P1.nom = ‘Clement’
AND P2.nom != ‘Clement’
AND P1.salaire > P2.salaire
;
^ Sélectionne tous les tuples dans la table Personnes qui ont un salaire inférieur à ‘Clement’.
Mapping imbriqué :
SELECT *
FROM r1
WHERE col1 = (
SELECT col1
FROM r2
WHERE condition
)
;
Renommage colonne :
SELECT col1 AS uneColonne
FROM r1
;
Tri :
SELECT prix
FROM Produits
ORDER BY prix DESC
;
^ L’inverse de DESC est ASC, mais il est dispensable car utilisé par défaut lors d’un tri.
Tri multiple :
SELECT prix
FROM Produits
ORDER BY prix ASC, nom DESC
;
Si vous pensez que cette série d’article peut intéresser d’autres personnes,vous pouvez partager cet article sur les réseaux sociaux et par mail à vos amis.
Pour toutes questions vous pouvez me contacter par mail ou via l’onglet “Contact” en haut du site.
Merci !