0% ont trouvé ce document utile (0 vote)
2 vues18 pages

Cm2 SQL Select Inner Join

Ce document présente les concepts de sélection et de jointure interne en SQL, essentiels pour manipuler les bases de données relationnelles. Il couvre la syntaxe des requêtes SQL pour la sélection de données, l'utilisation de prédicats de sélection, ainsi que les jointures entre plusieurs tables. Des exemples pratiques illustrent chaque concept pour faciliter la compréhension.

Transféré par

Kheira Boubekeur
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues18 pages

Cm2 SQL Select Inner Join

Ce document présente les concepts de sélection et de jointure interne en SQL, essentiels pour manipuler les bases de données relationnelles. Il couvre la syntaxe des requêtes SQL pour la sélection de données, l'utilisation de prédicats de sélection, ainsi que les jointures entre plusieurs tables. Des exemples pratiques illustrent chaque concept pour faciliter la compréhension.

Transféré par

Kheira Boubekeur
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Bases de Données Relationnelles

Partie 2 : SQL - Sélection et jointure interne

Master 2 CGSI
CY Cergy Paris Université
[Link]@[Link]

1
Plan : séance 2
 Sélection (recherche) et projection des données
 SQL – SELECT … FROM…
 SQL – SELECT … FROM … WHERE …

 Jointure interne
 Motivation et mécanisme
 Jointure entre deux tables
 Jointures entre plusieurs tables (> 2)

2
Sélection et projection 1/3
 Objectif
 Retrouver les lignes dans une table satisfaisant à des
critères (conditions) de recherche

 Solution
 Requêtes SQL
 Ce que l'on doit préciser dans ces requêtes
 Dans quelle table la recherche s'effectue ?
 Format du résultat (quelles colonnes ?)  Projection
(projeter ce que l'on veut)
 Critères de sélection ?
3
Sélection et projection 2/3
 Syntaxe
SELECT alias.colonne1, alias.colonne2, …
FROM nom_table AS alias;

 Alias
 Un autre nom (normalement plus court) de la table
 Unique référence dans toute la requête

 Symbole spécifique
 * : Si l'on veut projeter toutes les colonnes de la table
4
Sélection et projection 3/3
 Exemples
SELECT [Link], [Link]
FROM client AS c;

SELECT [Link], [Link], [Link]


FROM adresse AS a;

SELECT *
FROM client AS c;

5
Prédicat de sélection 1/6
 Sélection avec critères
 Objectif : ne sélectionner que les données satisfaisant
à des conditions
 Exprimer les critères
 En utilisant des prédicats de sélection
 Ce sont des expressions logiques : vrai ou faux
 Combinaison des expressions
 Satisfaire en même temps à plusieurs conditions : AND
 Satisfaire à une des conditions : OR
 Utiliser les parenthèses en cas complexe (>=3 conditions)

6
Prédicat de sélection 2/6
 Une expression logique sans combinaison
 Syntaxe : colonne1 comparateur colonne2

 Comparateurs
> supérieur à
>= supérieur ou égal à
< inférieur à
<= inférieur ou égal à
= égal à
<> différent de
7
Prédicat de sélection 3/6
 Exemples
[Link]='Jean'
 c est l'alias de la table client

[Link]='Paris'
 a est l'alias de la table adresse

c.date_naissance < '1980-08-02'


 Les clients nés avant le 2 août 1980

c.date_naissance < '1980-08-02' AND [Link]='Dupont'


 Les clients nés avant le 2 août 1980 ayant nom de famille 'Dupont'

c.date_naissance > '1980-08-02' OR [Link] = FALSE


 Les clients féminins ou les clients nés après le 2 août 1980

8
Prédicat de sélection 4/6
 Entre deux valeurs (inclues)
 Syntaxe : BETWEEN valeur1 AND valeur2
 Exemple
c.date_naissance BETWEEN '1980-08-01' AND '1985-09-01'
 Parmi les valeurs
 Syntaxe : IN (valeur1, valeur2, …)
 Exemple
[Link] IN ('Paul', 'Jean', 'Luc')

9
Prédicat de sélection 5/6
 Expression LIKE
 Permet d'effectuer une recherche avec ambiguïté
 Syntaxe : LIKE valeur
où valeur contient des caractères de remplacement
 Caractères de remplacement
% : n'importe quels caractères (0~N caractères)
 Exemple :
SELECT *
FROM client AS c
WHERE [Link] LIKE 'Paul%';
10
Requêtes avec prédicats 1/3
 Syntaxe
SELECT alias.colonne1, alias.colonne2, …
FROM nom_table AS alias
WHERE condition

 Condition
 Un prédicat de sélection
 Combinaison possible avec AND et OR

11
Requêtes avec prédicats 2/3
 Exemples
SELECT *
FROM client AS c
WHERE [Link] = 'Paul';
 Retrouver tous les clients ayant le prénom 'Paul'

SELECT [Link], [Link]


FROM client AS c
WHERE [Link] = 'Jean' AND
c.date_naissance < '1980-08-01';
 Retrouver tous les clients ayant le prénom 'Jean', nés avant le 1er août
1980
12
Requêtes avec prédicats 3/3
 Exemples
SELECT *
FROM adresse AS a
WHERE [Link] LIKE 'rue%' AND [Link]='Paris'
 Retrouver toutes les adresses nommées 'rue …' à Paris

SELECT *
FROM client AS c
WHERE ([Link]='Jean' OR [Link]='Dubois') AND
c.date_naissance > '1980-08-01' ;
 Retrouver tous les clients nés après le 1er août 1980, possédant un prénom
'Jean' ou un nom de famille 'Dubois'

13
Jointures
 Objectif
 Relier les données pertinentes de différentes tables
 Les données ont des liens logiques entre elles
 références, clés étrangères, même type de données…

 Exemple
 Retrouver les informations des clients et les
informations de l'adresse de chacun de ces clients
 Il s'agit d'une sélection des données de deux tables
 Joindre les lignes des deux tables ensemble
14
Jointures internes 1/4
 Principe
 Prédicat de jointure
 Pour comparer les colonnes dans les deux tables
mentionnées dans le prédicat (souvent clé étrangère)
 Procédure
 Pour chaque ligne de la première table, on vérifie toutes les
lignes de la deuxième table pour trouver toutes les
combinaisons satisfaisant au prédicat de jointure
 Résultat de la jointure (pas forcément de la requête)
 Les lignes dans le résultat contiennent toutes les colonnes
des deux tables

15
Jointures internes 2/4
 Syntaxe
SELECT …
FROM (nom_table1 AS alias1
INNER JOIN nom_table2 AS alias2
ON (alias1.colonne1 = alias2.colonne2))
INNER JOIN nom_table3 AS alias3
ON (alias2.colonne3 = alias3.colonne4)
… …
 Résumé
 Les jointures peuvent être réalisées entre plusieurs
tables, il faut utiliser les parenthèses si nombre de
tables > 2.
16
Jointures internes 3/4
 Exemples
SELECT *
FROM client AS c INNER JOIN adresse AS a
ON (c.id_adresse = a.id_adresse);

SELECT [Link], [Link]


FROM client AS c INNER JOIN adresse AS a
ON (c.id_adresse = a.id_adresse);

SELECT [Link], [Link]


FROM client AS c INNER JOIN adresse AS a
ON (c.id_adresse = a.id_adresse)
WHERE [Link] = 'Paris';

17
Jointures internes 4/4
 Exemples
SELECT *
FROM (client AS c INNER JOIN adresse AS a
ON (c.id_adresse = a.id_adresse))
INNER JOIN commande AS co
ON (c.id_client = co.id_client);

SELECT [Link], [Link], [Link]


FROM (client AS c INNER JOIN adresse AS a
ON (c.id_adresse = a.id_adresse))
INNER JOIN commande AS co
ON (c.id_client = co.id_client)
WHERE [Link] = 'Paris' AND [Link] = 10;

18

Vous aimerez peut-être aussi