Fichier de rejeu Close

Indication Close

A propos de... Close

Commentaire Close

Systèmes d'Information

  • Notions mathématiques
  • Calcul relationnel
  • Algèbre relationnelle
  • Langage de requêtes
    • Opérateurs
    • Commandes de base
    • Recherche d’informations
      • Opérations ensemblistes
      • Requêtes imbriquées
  • Arbre de requêtes
  • Exercices
  • Introduction
  • Commandes de bases
  • Langage de définition de données (LDD)
  • Langage de manipulation de données (LMD)
  • Types de données
  • Exercice
  • Présentation
  • Calcul relationnel
  • Algèbre relationnelle
  • Division relationnelle
  • Relation
  • Fonction
  • Application
  • Injection
  • Surjection
  • Bijection
  • Association
  • Exemples
  • Dépendances fonctionnelles
  • Décomposition de relations
  • Inférence logique
  • Normalisation
  • Aux pays des bières
  • Modélisation
  • Exercices
  • Liste des projets
  • Aux pays des bières
  • Au Tournoi des six nations
  • Salles de concerts
  • Généralités
  • Langage SQL
  • Modèle relationnel
  • Généralités
  • SQL
  • Algèbre relationnelle
  • Synthèse
Index

Archives

  • Site Web
  • Sources reStructuredText
  • EniBook 1.618033988
logo

Crédits

© Your Copyright

Aide

En-tête

MenuContenu
Sommaire,
Téléchargements
Aide sur les outils

Pied de page

ChevronAction
Aller en haut de la page courante
Aller en bas de la page courante
Passer à la page précédente
Passer à la page suivante

Langage de requêtes

Les opérateurs de l’algèbre relationnelle sont représentés par des mot-clés du langage SQL. A l’aide de ces mots-clés on pourra formuler une recherche d’information correspondant à une question en langage naturel. Ces requêtes SQL pourront alors être interprétées et éxecutées par le serveur de base de données.

Opérateurs

Les opérateurs de l’algèbre relationnelle auront les représentations suivantes en SQL

  1. Projection (\(\Pi\)):
    • SELECT : lister les attributs à  retourner dans le résultats de la requête
  2. Produit cartésien :
    • FROM (\(\times\)): lister les ensembles nécessaires à la formulation de la requête
  3. Restriction :
    • WHERE (\(\sigma\)) : définir les formules logiques que devront satisfaire les éléments à retourner
  4. Jointures (\(\Join\)) :
    • INNER JOIN, OUTER JOIN : faire les jointures entre attributs de tables (ensembles)
  5. Union :
    • UNION (\(\cup\)) : récupérer les éléments de deux ensembles (requêtes) dans un ensemble
  6. Différence :
    • EXCEPT (\(\setminus\)): récupérer les éléments d’un ensemble qui ne sont pas dans l’autre
  7. Intersection :
    • INTERSECT (\(\cap\)) : récupérer les éléments communs de deux ensembles (requêtes) dans un ensemble
  8. Division relationnelle (\(\div\)) :
    • l’opérateur de division relationnelle n’existe pas en SQL mais peut s’exprimer en fonction des opérateurs de projection (SELECT), de produit cartésien (FROM) et de différence (EXCEPT) selon la formulation suivante : \(\div(S,T)=\setminus(\Pi_{(X)}(S),\Pi_{(X)}(\setminus(\times(\Pi_{(X)}(S),T),S)))\)
  9. Renommage :
    • AS (\(\rho\)) : donner un autre nom à  un attribut (colonne) de l’ensemble (table).

Commandes de base

Nous apprendrons ici à  :
  • créer un ensemble d’éléments
  • rechercher des éléments dans un ensemble
  • ajouter des éléments dans un ensemble
  • modifier des éléments dans un ensemble
  • détruire des éléments dans un ensemble

Un exercice récapitulatif permettra au lecteur de se familiariser avec ces commandes et s’entraîner à  la création, insertion, modification et consultation d’informations en SQL.

CREATE TABLE : créer un ensemble

CREATE TABLE personnes (id integer NOT NULL UNIQUE, nom text, age SMALLINT);

Créer l’ensemble (vide) des personnes avec les attributs

  • id : attribut de type integer
  • nom : attribut de type text
  • age : attribut de type smallint

On définit pour l’attribut id des contraintes lors de l’insertion d’un élément dans l’ensemble des personnes :

  • NOT NULL : on doit obligatoirement renseigner une valeur sur l’attribut id lors de l’insertion (INSERT en SQL) d’une personne.
  • UNIQUE : lors de l” insertion (INSERT en SQL) d’une personne la valeur de l’attribut id doit être différent des valeurs déjà  existantes sur cet attribut.

SELECT : rechercher des éléments

Requête : rechercher le nom et age des personnes

SELECT nom,age  FROM personnes;

INSERT : ajouter des éléments

Requête : insérer 'Dupond' ans dans l’ensemble des personnes

INSERT INTO personnes(id,nom,age ) VALUES(1,'Dupond',35);

UPDATE : modifier des éléments

Requête : renommer en 'Dupont' le premier élément (id=1) de l’ensemble des personnes

UPDATE personnes SET nom='Dupont' WHERE id=1;

DELETE : enlever des éléments

Requête : enlever les éléments de nom 'Dupont' dans l’ensemble des personnes

DELETE FROM personnes WHERE nom='Dupont';

Exemple récapitulatif
  • Question
  • Solution

Créer une base de données contenant un ensemble de personnes.

Insérer dans cet ensemble les éléments :

  • (1,'Dupont',20)
  • (2,'Dupond',25)
  • (3,'Durand',30)

Modifier l’âge de 'Durand' qui a finalement 35 ans.

Enlever la personne 'Dupont' de l’ensemble.

Votre réponse :
sql : essai.sql

    
>
Output

                

Interpréteur

MenuAction
Ré-initialiser les sorties
Faire apparaître le menu d'aide
Interpréter le programme

Editeur

MenuRaccouciAction
Ctrl+N Initialiser l'éditeur
Ctrl+O Charger le contenu d'un fichier dans l'éditeur
Ctrl+S Sauvegarder le contenu de l'éditeur dans un fichier
Ctrl+P Imprimer le contenu de l'éditeur
Ctrl+Z Annuler la dernière modification
Maj+Ctrl+Z Rétablir la modification précedente
Ctrl+F Chercher une expression dans l'éditeur
Maj+Ctrl+F Chercher et remplacer une expression par une autre
F10 Ouvrir une documentation du langage

RaccourciAction
F1 Afficher cette aide
Tab Indenter la sélection
Maj+Tab Désindenter la sélection
Ctrl+A Sélectionner le contenu de l'éditeur
Ctrl+C Copier la sélection dans le presse-papier
Ctrl+V Remplacer la sélection par le contenu du presse-papier
Ctrl+X Supprimer la sélection et la copier dans le presse-papier
Maj+Ctrl+R Chercher et remplacer une expression par une autre dans tout l'éditeur
Une solution possible :
CREATE TABLE personnes (id integer NOT NULL UNIQUE, nom text,age SMALLINT);

INSERT INTO personnes(id,nom,age) VALUES(1,'Dupont',20);
INSERT INTO personnes(id,nom,age) VALUES(2,'Dupond',25);
INSERT INTO personnes(id,nom,age) VALUES(3,'Durand',30);
SELECT * FROM personnes;

UPDATE personnes SET age=35 WHERE nom='Durand';
SELECT * FROM personnes;

DELETE FROM personnes WHERE nom='Dupont';
SELECT * FROM personnes;

Recherche d’informations

Syntaxe générale SQL pour formuler des requêtes simples :

1
2
3
SELECT [DISTINCT] <liste de colonnes>
FROM   <liste de tables>
WHERE <conditions de recherche>

Ce qui revient à  :

  • SELECT : sélectionner les informations sur certains attributs des éléments que l’on récupère
  • FROM: : en listant les ensembles qui contiennent les informations intéréssantes
  • WHERE: : et en définissant une condition de restriction pour obtenir uniquement les éléments qui nous intéressent vraiment dans ces ensembles.

Ce qui correspond à  la mise en oeuvre des opérateurs de l’algèbre relationnelle :

  • \(\large \Pi_{(a_1,...,a_n)}(E)\) : projection, opérateur unaire sur les attributs (\((a_1,...,a_n)\)) de l’ensemble \(E\).
  • \(\large \times(E,F)\) : produit cartésien, opérateur binaire pour mettre en relation chaque élément de l’ensemble \(E\) avec tous les éléments de l’ensemble \(F\).
  • \(\large \sigma_{[condition]}(E)\) : restriction, opérateur unaire pour définir une condition à  satisfaire sur les éléments de l’ensemble \(E\).
2/2 Exercices : Projection et restriction
Projection
  • Question
  • Solution

Requête : « Récupérer les nom des personnes « 

Votre réponse :
sql : essai.sql

    
>
Output

                

Interpréteur

MenuAction
Ré-initialiser les sorties
Faire apparaître le menu d'aide
Interpréter le programme

Editeur

MenuRaccouciAction
Ctrl+N Initialiser l'éditeur
Ctrl+O Charger le contenu d'un fichier dans l'éditeur
Ctrl+S Sauvegarder le contenu de l'éditeur dans un fichier
Ctrl+P Imprimer le contenu de l'éditeur
Ctrl+Z Annuler la dernière modification
Maj+Ctrl+Z Rétablir la modification précedente
Ctrl+F Chercher une expression dans l'éditeur
Maj+Ctrl+F Chercher et remplacer une expression par une autre
F10 Ouvrir une documentation du langage

RaccourciAction
F1 Afficher cette aide
Tab Indenter la sélection
Maj+Tab Désindenter la sélection
Ctrl+A Sélectionner le contenu de l'éditeur
Ctrl+C Copier la sélection dans le presse-papier
Ctrl+V Remplacer la sélection par le contenu du presse-papier
Ctrl+X Supprimer la sélection et la copier dans le presse-papier
Maj+Ctrl+R Chercher et remplacer une expression par une autre dans tout l'éditeur
Une solution possible :

Ecriture en algèbre relationnelle :

  • \(Q = \Pi_{(nom)}(personnes)\)
CREATE VIEW Q AS
SELECT DISTINCT nom FROM personnes;

On remarquera l’application du :code::DISTINCT qui permettra d’obtenir un ensemble (les noms en double seront éliminés du résultat).

Restriction
  • Question
  • Solution

Requête : « trouver les personnes de plus de 30 ans »

Votre réponse :
sql : essai.sql

    
>
Output

                

Interpréteur

MenuAction
Ré-initialiser les sorties
Faire apparaître le menu d'aide
Interpréter le programme

Editeur

MenuRaccouciAction
Ctrl+N Initialiser l'éditeur
Ctrl+O Charger le contenu d'un fichier dans l'éditeur
Ctrl+S Sauvegarder le contenu de l'éditeur dans un fichier
Ctrl+P Imprimer le contenu de l'éditeur
Ctrl+Z Annuler la dernière modification
Maj+Ctrl+Z Rétablir la modification précedente
Ctrl+F Chercher une expression dans l'éditeur
Maj+Ctrl+F Chercher et remplacer une expression par une autre
F10 Ouvrir une documentation du langage

RaccourciAction
F1 Afficher cette aide
Tab Indenter la sélection
Maj+Tab Désindenter la sélection
Ctrl+A Sélectionner le contenu de l'éditeur
Ctrl+C Copier la sélection dans le presse-papier
Ctrl+V Remplacer la sélection par le contenu du presse-papier
Ctrl+X Supprimer la sélection et la copier dans le presse-papier
Maj+Ctrl+R Chercher et remplacer une expression par une autre dans tout l'éditeur
Une solution possible :

Ecriture en algèbre relationnelle :

  • \(Q = \sigma_{[age>30]}(personnes)\)
CREATE VIEW Q AS
SELECT * FROM personnes WHERE age > 30;

Opérations ensemblistes

Les opérations ensemblistes permettent de répondre à  des questions du type :

  • donne-moi des éléments qui se trouvent dans deux ensembles (l’union, \(\cup\))
  • donne-moi des éléments qui sont commun à  deux ensembles (l’intersection, \(\cap\))
  • donne-moi des éléments qui se trouve dans un ensemble mais pas dans l’autre (la différence, \(\setminus\))

Lors d’une formulation d’opérations ensemblistes, il est bnécessaire de représenter les deux ensembles requêtes par deux requêtes contenant le même nombre d’informations,définies sur le même domaine, dans les clauses SELECT

Le lecteur pourra se familiariser aux opération ensemblistes en faisant les exercices ci-dessous.

3/3 Exercices : UNION,INTERSECT,EXCEPT
UNION
  • Question
  • Solution

Requête : « Récupérer les noms des personnes et des employes »

Votre réponse :
sql : essai.sql

    
>
Output

                

Interpréteur

MenuAction
Ré-initialiser les sorties
Faire apparaître le menu d'aide
Interpréter le programme

Editeur

MenuRaccouciAction
Ctrl+N Initialiser l'éditeur
Ctrl+O Charger le contenu d'un fichier dans l'éditeur
Ctrl+S Sauvegarder le contenu de l'éditeur dans un fichier
Ctrl+P Imprimer le contenu de l'éditeur
Ctrl+Z Annuler la dernière modification
Maj+Ctrl+Z Rétablir la modification précedente
Ctrl+F Chercher une expression dans l'éditeur
Maj+Ctrl+F Chercher et remplacer une expression par une autre
F10 Ouvrir une documentation du langage

RaccourciAction
F1 Afficher cette aide
Tab Indenter la sélection
Maj+Tab Désindenter la sélection
Ctrl+A Sélectionner le contenu de l'éditeur
Ctrl+C Copier la sélection dans le presse-papier
Ctrl+V Remplacer la sélection par le contenu du presse-papier
Ctrl+X Supprimer la sélection et la copier dans le presse-papier
Maj+Ctrl+R Chercher et remplacer une expression par une autre dans tout l'éditeur
Une solution possible :

Ecriture en algèbre relationnelle :

  • \(R_1 = \Pi_{(nom)}(personnes)\)
  • \(R_2 = \Pi_{(nom)}(employes)\)
  • \(Q = \cup(R_1,R_2)\)
CREATE VIEW Q AS
SELECT nom FROM personnes
UNION
SELECT nom FROM employes;

Selon l’écriture en algèbre relationnelle nous aurions dû créer les vues \(R_1,R_2\). Cependant si cette requête doit être utilisée par la suite, nous ne manipulerons que le résultat final (SELECT * FROM Q)

INTERSECT
  • Question
  • Solution

Requête : « Récupérer les noms des personnes qui sont employes »

Votre réponse :
sql : essai.sql

    
>
Output

                

Interpréteur

MenuAction
Ré-initialiser les sorties
Faire apparaître le menu d'aide
Interpréter le programme

Editeur

MenuRaccouciAction
Ctrl+N Initialiser l'éditeur
Ctrl+O Charger le contenu d'un fichier dans l'éditeur
Ctrl+S Sauvegarder le contenu de l'éditeur dans un fichier
Ctrl+P Imprimer le contenu de l'éditeur
Ctrl+Z Annuler la dernière modification
Maj+Ctrl+Z Rétablir la modification précedente
Ctrl+F Chercher une expression dans l'éditeur
Maj+Ctrl+F Chercher et remplacer une expression par une autre
F10 Ouvrir une documentation du langage

RaccourciAction
F1 Afficher cette aide
Tab Indenter la sélection
Maj+Tab Désindenter la sélection
Ctrl+A Sélectionner le contenu de l'éditeur
Ctrl+C Copier la sélection dans le presse-papier
Ctrl+V Remplacer la sélection par le contenu du presse-papier
Ctrl+X Supprimer la sélection et la copier dans le presse-papier
Maj+Ctrl+R Chercher et remplacer une expression par une autre dans tout l'éditeur
Une solution possible :

Ecriture en algèbre relationnelle :

  • \(R_1 = \Pi_{(nom)}(personnes)\)
  • \(R_2 = \Pi_{(nom)}(employes)\)
  • \(Q = \cap(R_1,R_2)\)
SELECT * FROM personnes;
SELECT * FROM employes;

CREATE VIEW Q AS
SELECT nom FROM personnes
INTERSECT
SELECT nom FROM employes;

Selon l’écriture en algèbre relationnelle nous aurions dû créer les vues \(R_1,R_2\). Cependant si cette requête doit être utilisée par la suite, nous ne manipulerons que le résultat final (SELECT * FROM Q)

EXCEPT
  • Question
  • Solution

Requête : « Récupérer les noms des personnes qui ne sont pas des employes »

Votre réponse :
sql : essai.sql

    
>
Output

                

Interpréteur

MenuAction
Ré-initialiser les sorties
Faire apparaître le menu d'aide
Interpréter le programme

Editeur

MenuRaccouciAction
Ctrl+N Initialiser l'éditeur
Ctrl+O Charger le contenu d'un fichier dans l'éditeur
Ctrl+S Sauvegarder le contenu de l'éditeur dans un fichier
Ctrl+P Imprimer le contenu de l'éditeur
Ctrl+Z Annuler la dernière modification
Maj+Ctrl+Z Rétablir la modification précedente
Ctrl+F Chercher une expression dans l'éditeur
Maj+Ctrl+F Chercher et remplacer une expression par une autre
F10 Ouvrir une documentation du langage

RaccourciAction
F1 Afficher cette aide
Tab Indenter la sélection
Maj+Tab Désindenter la sélection
Ctrl+A Sélectionner le contenu de l'éditeur
Ctrl+C Copier la sélection dans le presse-papier
Ctrl+V Remplacer la sélection par le contenu du presse-papier
Ctrl+X Supprimer la sélection et la copier dans le presse-papier
Maj+Ctrl+R Chercher et remplacer une expression par une autre dans tout l'éditeur
Une solution possible :

Ecriture en algèbre relationnelle :

  • \(R_1 = \Pi_{(nom)}(personnes)\)
  • \(R_2 = \Pi_{(nom)}(employes)\)
  • \(Q = \setminus(R_1,R_2)\)
SELECT * FROM personnes;
SELECT * FROM employes;

CREATE VIEW Q AS
SELECT nom FROM personnes
EXCEPT
SELECT nom FROM employes;

Selon l’écriture en algèbre relationnelle nous aurions dû créer les vues \(R_1,R_2\). Cependant si cette requête doit être utilisée par la suite, nous ne manipulerons que le résultat final (SELECT * FROM Q)

Les opérations ensemblistes génèrent par défaut des ensembles au sens où on élimine les doublons qui pourraient apparaître dans le résultat pour qu’un élément n’apparaisse qu’une seule fois dans le résultat.

Pour accélérer le traitement on peut formuler la requête ensembliste en faisant suivre l’opérateur du mot-clé ALL. On risque alors d’obtenir comme résultat un multi-ensemble où un même élément peut apparaître plus d’une fois dans le résultat.

ALL

Requête : « Récupérer les noms des personnes et des employés »

ALL permet d’éviter des tris pour éliminer les doublons.

Par défaut l’union (\(\cup\)) applique un tri pour éliminer les doublons de manière à  générer un ensemble (un élément n’apparaît qu’une seule fois dans un ensemble).

L’exemple ci-dessous illustre l’utilisation de l’opération ensembliste d’union :

  • en éliminant les doublons
  • sans éliminer les doublons (ALL)
  • en éliminant les doublons dans chaque ensemble (DISTINCT) de chaque requête SQL
sql : essai.sql

    
>
Output

                

Interpréteur

MenuAction
Ré-initialiser les sorties
Faire apparaître le menu d'aide
Interpréter le programme

Editeur

MenuRaccouciAction
Ctrl+N Initialiser l'éditeur
Ctrl+O Charger le contenu d'un fichier dans l'éditeur
Ctrl+S Sauvegarder le contenu de l'éditeur dans un fichier
Ctrl+P Imprimer le contenu de l'éditeur
Ctrl+Z Annuler la dernière modification
Maj+Ctrl+Z Rétablir la modification précedente
Ctrl+F Chercher une expression dans l'éditeur
Maj+Ctrl+F Chercher et remplacer une expression par une autre
F10 Ouvrir une documentation du langage

RaccourciAction
F1 Afficher cette aide
Tab Indenter la sélection
Maj+Tab Désindenter la sélection
Ctrl+A Sélectionner le contenu de l'éditeur
Ctrl+C Copier la sélection dans le presse-papier
Ctrl+V Remplacer la sélection par le contenu du presse-papier
Ctrl+X Supprimer la sélection et la copier dans le presse-papier
Maj+Ctrl+R Chercher et remplacer une expression par une autre dans tout l'éditeur

Requêtes imbriquées

Les requêtes imbriquées peuvent aussi être utilisées pour représenter des opérations ensemblistes.

IN (=ANY)

L’opérateur SQL IN correspond à  la relation d’appartenance mathématique (\(\in\)) à  un ensemble.

L’opérateur SQL =ANY signifie que l’on teste pour chaque élément de la requête externe s’il est égal à  un des éléments de la requête interne.

Le standard SQL autorise les deux syntaxes.

Requête : « Récupérer les noms des personnes qui sont des employes »

sql : essai.sql

    
>
Output

                

Interpréteur

MenuAction
Ré-initialiser les sorties
Faire apparaître le menu d'aide
Interpréter le programme

Editeur

MenuRaccouciAction
Ctrl+N Initialiser l'éditeur
Ctrl+O Charger le contenu d'un fichier dans l'éditeur
Ctrl+S Sauvegarder le contenu de l'éditeur dans un fichier
Ctrl+P Imprimer le contenu de l'éditeur
Ctrl+Z Annuler la dernière modification
Maj+Ctrl+Z Rétablir la modification précedente
Ctrl+F Chercher une expression dans l'éditeur
Maj+Ctrl+F Chercher et remplacer une expression par une autre
F10 Ouvrir une documentation du langage

RaccourciAction
F1 Afficher cette aide
Tab Indenter la sélection
Maj+Tab Désindenter la sélection
Ctrl+A Sélectionner le contenu de l'éditeur
Ctrl+C Copier la sélection dans le presse-papier
Ctrl+V Remplacer la sélection par le contenu du presse-papier
Ctrl+X Supprimer la sélection et la copier dans le presse-papier
Maj+Ctrl+R Chercher et remplacer une expression par une autre dans tout l'éditeur

Chaque élément de la requête externe est (appartient à ) dans l’ensemble décrit par la requête imbriquée.

NB : l’opérateur =ANY n’existe pas en SQLite

NOT IN (<>ALL)

L’opérateur SQL NOT IN correspond à  la relation de non-appartenance mathématique (\(\notin\)) à  un ensemble.

L’opérateur SQL <>ALL signifie que l’on teste pour chaque élément de la requête externe qu’il doit-être différent de tous les élements de la requête interne.

Requête : « Récupérer les noms des personnes qui ne sont pas des employes »

sql : essai.sql

    
>
Output

                

Interpréteur

MenuAction
Ré-initialiser les sorties
Faire apparaître le menu d'aide
Interpréter le programme

Editeur

MenuRaccouciAction
Ctrl+N Initialiser l'éditeur
Ctrl+O Charger le contenu d'un fichier dans l'éditeur
Ctrl+S Sauvegarder le contenu de l'éditeur dans un fichier
Ctrl+P Imprimer le contenu de l'éditeur
Ctrl+Z Annuler la dernière modification
Maj+Ctrl+Z Rétablir la modification précedente
Ctrl+F Chercher une expression dans l'éditeur
Maj+Ctrl+F Chercher et remplacer une expression par une autre
F10 Ouvrir une documentation du langage

RaccourciAction
F1 Afficher cette aide
Tab Indenter la sélection
Maj+Tab Désindenter la sélection
Ctrl+A Sélectionner le contenu de l'éditeur
Ctrl+C Copier la sélection dans le presse-papier
Ctrl+V Remplacer la sélection par le contenu du presse-papier
Ctrl+X Supprimer la sélection et la copier dans le presse-papier
Maj+Ctrl+R Chercher et remplacer une expression par une autre dans tout l'éditeur

Chaque élément de la requête externe n’est pas (n’appartient pas à ) dans l’ensemble décrit par la requête imbriquée.

NB : l’opérateur <>ALL n’existe pas en SQLite

EXISTS

Le standard SQL propose le quantificatif existentiel (\(\exists\)) pour vérifier l’existence d’un élément dans un ensemble.

N.B : le quantificateur universel n’existe pas ( ;-) ) dans la norme SQL mais on pourra l’exprimer à  l’aide d’équivalences logiques.

Requête : « Récupérer les noms des personnes qui sont des employes »

sql : essai.sql

    
>
Output

                

Interpréteur

MenuAction
Ré-initialiser les sorties
Faire apparaître le menu d'aide
Interpréter le programme

Editeur

MenuRaccouciAction
Ctrl+N Initialiser l'éditeur
Ctrl+O Charger le contenu d'un fichier dans l'éditeur
Ctrl+S Sauvegarder le contenu de l'éditeur dans un fichier
Ctrl+P Imprimer le contenu de l'éditeur
Ctrl+Z Annuler la dernière modification
Maj+Ctrl+Z Rétablir la modification précedente
Ctrl+F Chercher une expression dans l'éditeur
Maj+Ctrl+F Chercher et remplacer une expression par une autre
F10 Ouvrir une documentation du langage

RaccourciAction
F1 Afficher cette aide
Tab Indenter la sélection
Maj+Tab Désindenter la sélection
Ctrl+A Sélectionner le contenu de l'éditeur
Ctrl+C Copier la sélection dans le presse-papier
Ctrl+V Remplacer la sélection par le contenu du presse-papier
Ctrl+X Supprimer la sélection et la copier dans le presse-papier
Maj+Ctrl+R Chercher et remplacer une expression par une autre dans tout l'éditeur

chaque élément de la requête externe se trouve (existe) dans l’ensemble décrit par la requête imbriquée.

NOT EXISTS

Pour vérifier la non-existence (\(\not\exists\)) d’un élément dans un ensemble.

Requête : « Récupérer les noms des personnes qui ne sont pas des employes »

sql : essai.sql

    
>
Output

                

Interpréteur

MenuAction
Ré-initialiser les sorties
Faire apparaître le menu d'aide
Interpréter le programme

Editeur

MenuRaccouciAction
Ctrl+N Initialiser l'éditeur
Ctrl+O Charger le contenu d'un fichier dans l'éditeur
Ctrl+S Sauvegarder le contenu de l'éditeur dans un fichier
Ctrl+P Imprimer le contenu de l'éditeur
Ctrl+Z Annuler la dernière modification
Maj+Ctrl+Z Rétablir la modification précedente
Ctrl+F Chercher une expression dans l'éditeur
Maj+Ctrl+F Chercher et remplacer une expression par une autre
F10 Ouvrir une documentation du langage

RaccourciAction
F1 Afficher cette aide
Tab Indenter la sélection
Maj+Tab Désindenter la sélection
Ctrl+A Sélectionner le contenu de l'éditeur
Ctrl+C Copier la sélection dans le presse-papier
Ctrl+V Remplacer la sélection par le contenu du presse-papier
Ctrl+X Supprimer la sélection et la copier dans le presse-papier
Maj+Ctrl+R Chercher et remplacer une expression par une autre dans tout l'éditeur

chaque élément de la requête externe ne se retrouve pas (n’existe pas) dans l’ensemble décrit par la requête imbriquée.

 
Systèmes d'Information : Langage de requêtes, 13 avr. 2023.