SlideShare une entreprise Scribd logo
1  sur  31
Introduction
 Les serveurs de données relationnels présentent
aujourd’hui une interface externe sous forme d’un
langage de recherche et mise à jour, permettant de
spécifier les ensembles de données à sélectionner ou
à mettre à jour à partir de propriétés des valeurs, sans
dire comment retrouver les données.
 Plusieurs langages assertionnels permettant de
manipuler des bases de données relationnelles ont
été proposés, en particulier QUEL [Zook77], QBE
[Zloof77] et SQL [IBM82, IBM87].
 le langage SQL est normalisé [ISO89, ISO92] et
constitue le standard d’accès aux bases de données
relationnelles
Introduction
 SQL = Structured Query Language
 Langage de requêtes standard pour
l’interrogation de bases de données
relationnelles (SQL-1 en 1989, puis SQL-2 en
1992, et enfin SQL-3 )
 Développé à l’origine pour le protype de SGBD
recherche d’IBM SYSTEM/R, qui a débouché sur
les produits commerciaux SQL/DS et DB-2
 Mélange d’algèbre relationnelle et de calcul
relationnel à variables n-uplets
Introduction
 De manière générale, SQL comme les autres
langages qui ont été proposés (e.g., QUEL)
utilisent tous des critères de recherche (encore
appelés qualifications)
 SQL: construits à partir de la logique des
prédicats du premier ordre. Ils comportent:
 LDD: Langage de Définition de Données: définir le
schéma de la base de données
 La définition d’un schéma logique comprend
essentiellement deux parties :
 1) d’une part la description des tables et de leur contenu,
 2) d’autre part les contraintes qui portent sur les
données de la base. La spécification des contraintes est
souvent placée au second plan bien qu’elle soit en fait
très importante : elle permet d’assurer, au niveau de la
base des contrôles sur l’intégrité des données qui
s’imposent à toutes les applications accédant à cette
base.
 3) Un dernier aspect de la définition d’un schéma, est la
description de la représentation physique.
 LMD :Langage de Manipulation de Données:
interroger et modifier les données de la base
 •Langage de contrôle d’accès aux données.
CRÉATION DE TABLE
 CREATION SCHEMA
 CREATE SCHEMA AUTHORIZATION nom-schema
 create table nom_relation (nom_attribut_1
type_attribut_1, …)
 CREATE TABLE <nom de table> (<élément de
table>+)
CRÉATION DE TABLES
Un élément de table est soit une définition de
colonne, soit une définition de contrainte,
comme suit :
 <ÉLÉMENT DE TABLE> ::= <DÉFINITION DE
COLONNE> | <CONTRAINTE DE TABLE>
Une colonne est définie par un nom et un type
de données. Une valeur par défaut peut
être précisée. Une contrainte de colonne peut
aussi être définie à ce niveau. On obtient
donc la syntaxe suivante :
<DÉFINITION DE COLONNE> : := <NOM DE
COLONNE> <TYPE DE DONNÉES>
[<CLAUSE DÉFAUT>] [<CONTRAINTE DE
COLONNE>]
Type de données
EXEMPLE
CREATE TABLE Internaute
 (email VARCHAR (50) NOT NULL,
 nom VARCHAR (20) NOT NULL,
 prenom VARCHAR (20),
 motDePasse VARCHAR (60) NOT NULL,
 AnneeNaiss DECIMAL (4))
CREATE TABLE Cinéma (nom VARCHAR (50) NOT
NULL, adresse VARCHAR (50) DEFAULT ’Inconnue’)
LDD
EXPRESSION DES CONTRAINTES D’INTÉGRITÉ
 1)Les contraintes de colonnes permettent de
spécifier différentes contraintes d’intégrité
 – valeur nulle impossible (syntaxe NOT NULL),
 – unicité de l’attribut (syntaxe UNIQUE ou
PRIMARY KEY),
 – contrainte référentielle – syntaxe REFERENCES
<table référencée> [(<colonne référencée>)]
 – contrainte générale (syntaxe CHECK
<condition>)spécifier des plages ou des listes de
valeurs possibles
 1.Un attribut doit toujours avoir une valeur. C’est la
contrainte NOT NULL vue précédemment.
 2. Un attribut (ou un ensemble d’attributs)
constitue(nt) la clé de la relation.
 3. Un attribut dans une table est liée à la clé primaire
d’une autre table (intégrité référentielle).
 4. La valeur d’un attribut doit être unique au sein de la
relation.
 5. Enfin toute règle s’appliquant à la valeur d’un
attribut (min et max par exemple).
LDD
EXPRESSION DES CONTRAINTES D’INTÉGRITÉ
Clé de la table (1)
 CREATE TABLE Internaute (email VARCHAR (50)
NOT NULL, nom VARCHAR (20) NOT NULL,
 prenom VARCHAR (20),
 motDePasse VARCHAR (60) NOT NULL,
 anneeNaiss INTEGER,
 PRIMARY KEY (email))
 1 CREATE TABLE Notation (idFilm INTEGER NOT
NULL, email VARCHAR (50) NOT NULL,
 note INTEGER DEFAULT 0,
 PRIMARY KEY (titre, email))
 2 CREATE TABLE Artiste(id INTEGER NOT NULL,
 nom VARCHAR (30) NOT NULL,
 prenom VARCHAR (30) NOT NULL,
 anneeNaiss INTEGER,
 PRIMARY KEY (id),
 UNIQUE (nom, prenom));
Clé de la table (2)
Clés étrangères
 CREATE TABLE Film (idFilm INTEGER NOT NULL,
 titre VARCHAR (50) NOT NULL,
 annee INTEGER NOT NULL,
 idMES INTEGER,
 codePays INTEGER,
 PRIMARY KEY (idFilm),
 FOREIGN KEY (idMES) REFERENCES Artiste,
 FOREIGN KEY (codePays) REFERENCES Pays);
MODIFICATION d’une table
 ALTER TABLE nomTable ACTION description
 ACTION peut être principalement ADD, MODIFY,
DROP ou RENAME, et description est la commande
 de modification associée à ACTION.
Modification des attributs
 On peut ajouter un attribut region à la table Internaute
avec la commande :
 ALTER TABLE Internaute ADD region VARCHAR(10);
 On peut modifier La taille de region
 ALTER TABLE Internaute MODIFY region
VARCHAR(30) NOT NULL;
 ALTER TABLE Internaute ALTER region SET
DEFAULT ’BLIDA’;
 ALTER TABLE Internaute DROP region; //détruire
LMD
 la recherche (mot clé SELECT ) permet de retrouver
 des tuples ou parties de tuples vérifiant la qualification
citée en arguments ;
 – l’insertion (mot clé INSERT ) permet d’ajouter des
 tuples dans une relation ; les tuples peuvent être fournis
par l’utilisateur ou construits à partir de données existant
déjà dans la base ;
 – la suppression (mot clé DELETE ) permet de
supprimer d’une relation les tuples vérifiant la
qualification citée en argument ;
 – la modification (mot clé UPDATE )permet de
 mettre à jour les tuples vérifiant la qualification citée en
argument à l’aide de nouvelles valeurs d’attributs ou de
résultats d’opérations arithmétiques appliquées aux
SELECTION
 SELECT [DISTINCT] *FROM table_1 [synonyme_1],
table_2 [synonyme_1], …[WHERE prédicat_1AND
[ou OR] prédicat_2 …
INSERTION
MODIFICATION
SUPPRESSION
Les critères de sélection
 Comparaison à une valeur donnée.
 Pour chaque enregistrement, la valeur d'un champ donné
est comparée à une valeur fixe. Cette valeur fixe est
généralement une valeur numérique, une date ou un texte.
 Voici les opérateurs de comparaison:
 = "est égal"
 > "strictement supérieur"
 < "strictement inférieur"
 >= "supérieur ou égal"
 <= "inférieur ou égal"
 <> "est différent"
 1. Afficher le prénom et le nom de tous les employés du
service "Marketing"
 SELECT fldPrénom, fldNom
 FROM tblEmployés
 WHERE fldService='Marketing';
 2. Afficher le prénom, le nom et l'âge de tous les
employés plus jeunes que 50 ans
 SELECT fldPrénom, fldNom, fldAge
 FROM tblEmployés
 WHERE fldAge<50;
 3 Augmentez de la valeur 1 à l'âge de AICHA.
 UPDATE tblEmployés
 SET fldAge=fldAge+1
 WHERE fldNom=‘AICHA';
 4. Effacez tous les employés du service Informatique.
 DELETE FROM tblEmployés
 WHERE fldService='Informatique';
 5. Afficher le nom, le prénom et l'âge de tous les
employés entrés en service à partir du
 1.1.2014
 SELECT fldNom, fldPrénom, fldAge
 FROM tblEmployés
 WHERE fldEntréeService>=#1/1/14#;
Comparaison à un filtre
 • % représente n'importe quelle séquence de 0 ou
plusieurs caractères;
 • _ représente un seul caractère quelconque.
 Exemple: Pour rechercher des personnes dont le nom est
‘ABDrahime' ou ‘ABDrahmene' ou
 'SCHMIT' etc. on définit par exemple le filtre suivant :
‘ABD%'
 Exemple: Le filtre 'BL__' sélectionne par exemple les
valeurs 'BLEU' ou 'BLUE' mais pas 'BLANC'
 Les filtres sont utilisés ensemble avec le mot réservé LIKE.
Voici la syntaxe:
 . . .
 WHERE <Nom du champ> LIKE <Filtre>
 Afficher le nom et le prénom des employés dont le
prénom contient un trait d'union
 (p.ex. MED-LAMINE)
 SELECT fldNom, fldPrénom
 FROM tblEmployés
 WHERE fldPrénom LIKE '%-%';
 2. Afficher le nom, le prénom et l'âge des employés
dont le nom commence par 'W', est
 composé de 5 lettres et se termine par 'R'
 SELECT fldNom, fldPrénom, fldAge
 FROM tblEmployés
 WHERE fldNom LIKE 'W___R';
Les opérateurs logiques
 Il existe 3 opérateurs logiques:
 1. NOT (Négation logique)
 2. AND (Et logique)
 3. OR (Ou logique)
 Afficher le prénom et le nom de tous les employés qui ne
travaillent pas dans le service
 "Marketing"
 SELECT fldPrénom, fldNom
 FROM tblEmployés
 WHERE NOT fldService='Marketing';
 Formulez une requête qui affiche exactement le même
résultat, sans utiliser
 l'opérateur NOT.
 SELECT fldPrénom, fldNom
 FROM tblEmployés
 WHERE fldService<>'Marketing';

Contenu connexe

Tendances

Windows xp structure du registre
Windows xp   structure du registreWindows xp   structure du registre
Windows xp structure du registre
DICKO Yacouba
 

Tendances (9)

Présentation de DBAL en PHP
Présentation de DBAL en PHPPrésentation de DBAL en PHP
Présentation de DBAL en PHP
 
Présentation de DBAL en PHP (Nantes)
Présentation de DBAL en PHP (Nantes)Présentation de DBAL en PHP (Nantes)
Présentation de DBAL en PHP (Nantes)
 
SQL partie III
SQL partie IIISQL partie III
SQL partie III
 
Correction hrimech
Correction hrimechCorrection hrimech
Correction hrimech
 
Pl/sql - interaction avec la base de données & structures de contrôle
Pl/sql  - interaction avec la base de données & structures de contrôlePl/sql  - interaction avec la base de données & structures de contrôle
Pl/sql - interaction avec la base de données & structures de contrôle
 
Meet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaireMeet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaire
 
Plsql
PlsqlPlsql
Plsql
 
Windows xp structure du registre
Windows xp   structure du registreWindows xp   structure du registre
Windows xp structure du registre
 
Sql
SqlSql
Sql
 

Similaire à Cours3 gdm sql

presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdf
RihabBENLAMINE
 
Fmin103 0910 tpjdbc
Fmin103 0910 tpjdbcFmin103 0910 tpjdbc
Fmin103 0910 tpjdbc
Karim Amane
 
Plsql triggers
Plsql triggersPlsql triggers
Plsql triggers
Az Za
 

Similaire à Cours3 gdm sql (20)

presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdf
 
Chapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfChapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdf
 
.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHP.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHP
 
Support_Cours_SQL.ppt
Support_Cours_SQL.pptSupport_Cours_SQL.ppt
Support_Cours_SQL.ppt
 
Chapitre5.pdf
Chapitre5.pdfChapitre5.pdf
Chapitre5.pdf
 
SQL-ORACLE.pdf
SQL-ORACLE.pdfSQL-ORACLE.pdf
SQL-ORACLE.pdf
 
SQL-ORACLE.pptx
SQL-ORACLE.pptxSQL-ORACLE.pptx
SQL-ORACLE.pptx
 
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdfDATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
 
Fmin103 0910 tpjdbc
Fmin103 0910 tpjdbcFmin103 0910 tpjdbc
Fmin103 0910 tpjdbc
 
PHP #6 : mysql
PHP #6 : mysqlPHP #6 : mysql
PHP #6 : mysql
 
Les03.ppt
Les03.pptLes03.ppt
Les03.ppt
 
Chapitre 3 Linux
Chapitre 3 LinuxChapitre 3 Linux
Chapitre 3 Linux
 
Cours sql-sh-
Cours sql-sh-Cours sql-sh-
Cours sql-sh-
 
SQL.pdf
SQL.pdfSQL.pdf
SQL.pdf
 
oracle : le PL-SQL
oracle : le PL-SQLoracle : le PL-SQL
oracle : le PL-SQL
 
1444475541443.pptx
1444475541443.pptx1444475541443.pptx
1444475541443.pptx
 
Adopte une BDD
Adopte une BDDAdopte une BDD
Adopte une BDD
 
Plsql triggers
Plsql triggersPlsql triggers
Plsql triggers
 
Introduction_R.pdf
Introduction_R.pdfIntroduction_R.pdf
Introduction_R.pdf
 
Hive ppt (1)
Hive ppt (1)Hive ppt (1)
Hive ppt (1)
 

Cours3 gdm sql

  • 1.
  • 2. Introduction  Les serveurs de données relationnels présentent aujourd’hui une interface externe sous forme d’un langage de recherche et mise à jour, permettant de spécifier les ensembles de données à sélectionner ou à mettre à jour à partir de propriétés des valeurs, sans dire comment retrouver les données.  Plusieurs langages assertionnels permettant de manipuler des bases de données relationnelles ont été proposés, en particulier QUEL [Zook77], QBE [Zloof77] et SQL [IBM82, IBM87].  le langage SQL est normalisé [ISO89, ISO92] et constitue le standard d’accès aux bases de données relationnelles
  • 3. Introduction  SQL = Structured Query Language  Langage de requêtes standard pour l’interrogation de bases de données relationnelles (SQL-1 en 1989, puis SQL-2 en 1992, et enfin SQL-3 )  Développé à l’origine pour le protype de SGBD recherche d’IBM SYSTEM/R, qui a débouché sur les produits commerciaux SQL/DS et DB-2  Mélange d’algèbre relationnelle et de calcul relationnel à variables n-uplets
  • 4. Introduction  De manière générale, SQL comme les autres langages qui ont été proposés (e.g., QUEL) utilisent tous des critères de recherche (encore appelés qualifications)  SQL: construits à partir de la logique des prédicats du premier ordre. Ils comportent:
  • 5.  LDD: Langage de Définition de Données: définir le schéma de la base de données  La définition d’un schéma logique comprend essentiellement deux parties :  1) d’une part la description des tables et de leur contenu,  2) d’autre part les contraintes qui portent sur les données de la base. La spécification des contraintes est souvent placée au second plan bien qu’elle soit en fait très importante : elle permet d’assurer, au niveau de la base des contrôles sur l’intégrité des données qui s’imposent à toutes les applications accédant à cette base.  3) Un dernier aspect de la définition d’un schéma, est la description de la représentation physique.
  • 6.  LMD :Langage de Manipulation de Données: interroger et modifier les données de la base  •Langage de contrôle d’accès aux données.
  • 7. CRÉATION DE TABLE  CREATION SCHEMA  CREATE SCHEMA AUTHORIZATION nom-schema  create table nom_relation (nom_attribut_1 type_attribut_1, …)  CREATE TABLE <nom de table> (<élément de table>+)
  • 8. CRÉATION DE TABLES Un élément de table est soit une définition de colonne, soit une définition de contrainte, comme suit :  <ÉLÉMENT DE TABLE> ::= <DÉFINITION DE COLONNE> | <CONTRAINTE DE TABLE>
  • 9. Une colonne est définie par un nom et un type de données. Une valeur par défaut peut être précisée. Une contrainte de colonne peut aussi être définie à ce niveau. On obtient donc la syntaxe suivante : <DÉFINITION DE COLONNE> : := <NOM DE COLONNE> <TYPE DE DONNÉES> [<CLAUSE DÉFAUT>] [<CONTRAINTE DE COLONNE>]
  • 11. EXEMPLE CREATE TABLE Internaute  (email VARCHAR (50) NOT NULL,  nom VARCHAR (20) NOT NULL,  prenom VARCHAR (20),  motDePasse VARCHAR (60) NOT NULL,  AnneeNaiss DECIMAL (4)) CREATE TABLE Cinéma (nom VARCHAR (50) NOT NULL, adresse VARCHAR (50) DEFAULT ’Inconnue’)
  • 12. LDD EXPRESSION DES CONTRAINTES D’INTÉGRITÉ  1)Les contraintes de colonnes permettent de spécifier différentes contraintes d’intégrité  – valeur nulle impossible (syntaxe NOT NULL),  – unicité de l’attribut (syntaxe UNIQUE ou PRIMARY KEY),  – contrainte référentielle – syntaxe REFERENCES <table référencée> [(<colonne référencée>)]  – contrainte générale (syntaxe CHECK <condition>)spécifier des plages ou des listes de valeurs possibles
  • 13.  1.Un attribut doit toujours avoir une valeur. C’est la contrainte NOT NULL vue précédemment.  2. Un attribut (ou un ensemble d’attributs) constitue(nt) la clé de la relation.  3. Un attribut dans une table est liée à la clé primaire d’une autre table (intégrité référentielle).  4. La valeur d’un attribut doit être unique au sein de la relation.  5. Enfin toute règle s’appliquant à la valeur d’un attribut (min et max par exemple). LDD EXPRESSION DES CONTRAINTES D’INTÉGRITÉ
  • 14. Clé de la table (1)  CREATE TABLE Internaute (email VARCHAR (50) NOT NULL, nom VARCHAR (20) NOT NULL,  prenom VARCHAR (20),  motDePasse VARCHAR (60) NOT NULL,  anneeNaiss INTEGER,  PRIMARY KEY (email))
  • 15.  1 CREATE TABLE Notation (idFilm INTEGER NOT NULL, email VARCHAR (50) NOT NULL,  note INTEGER DEFAULT 0,  PRIMARY KEY (titre, email))  2 CREATE TABLE Artiste(id INTEGER NOT NULL,  nom VARCHAR (30) NOT NULL,  prenom VARCHAR (30) NOT NULL,  anneeNaiss INTEGER,  PRIMARY KEY (id),  UNIQUE (nom, prenom)); Clé de la table (2)
  • 16. Clés étrangères  CREATE TABLE Film (idFilm INTEGER NOT NULL,  titre VARCHAR (50) NOT NULL,  annee INTEGER NOT NULL,  idMES INTEGER,  codePays INTEGER,  PRIMARY KEY (idFilm),  FOREIGN KEY (idMES) REFERENCES Artiste,  FOREIGN KEY (codePays) REFERENCES Pays);
  • 17. MODIFICATION d’une table  ALTER TABLE nomTable ACTION description  ACTION peut être principalement ADD, MODIFY, DROP ou RENAME, et description est la commande  de modification associée à ACTION.
  • 18. Modification des attributs  On peut ajouter un attribut region à la table Internaute avec la commande :  ALTER TABLE Internaute ADD region VARCHAR(10);  On peut modifier La taille de region  ALTER TABLE Internaute MODIFY region VARCHAR(30) NOT NULL;  ALTER TABLE Internaute ALTER region SET DEFAULT ’BLIDA’;  ALTER TABLE Internaute DROP region; //détruire
  • 19. LMD  la recherche (mot clé SELECT ) permet de retrouver  des tuples ou parties de tuples vérifiant la qualification citée en arguments ;  – l’insertion (mot clé INSERT ) permet d’ajouter des  tuples dans une relation ; les tuples peuvent être fournis par l’utilisateur ou construits à partir de données existant déjà dans la base ;  – la suppression (mot clé DELETE ) permet de supprimer d’une relation les tuples vérifiant la qualification citée en argument ;  – la modification (mot clé UPDATE )permet de  mettre à jour les tuples vérifiant la qualification citée en argument à l’aide de nouvelles valeurs d’attributs ou de résultats d’opérations arithmétiques appliquées aux
  • 20. SELECTION  SELECT [DISTINCT] *FROM table_1 [synonyme_1], table_2 [synonyme_1], …[WHERE prédicat_1AND [ou OR] prédicat_2 …
  • 24. Les critères de sélection  Comparaison à une valeur donnée.  Pour chaque enregistrement, la valeur d'un champ donné est comparée à une valeur fixe. Cette valeur fixe est généralement une valeur numérique, une date ou un texte.  Voici les opérateurs de comparaison:  = "est égal"  > "strictement supérieur"  < "strictement inférieur"  >= "supérieur ou égal"  <= "inférieur ou égal"  <> "est différent"
  • 25.  1. Afficher le prénom et le nom de tous les employés du service "Marketing"  SELECT fldPrénom, fldNom  FROM tblEmployés  WHERE fldService='Marketing';  2. Afficher le prénom, le nom et l'âge de tous les employés plus jeunes que 50 ans  SELECT fldPrénom, fldNom, fldAge  FROM tblEmployés  WHERE fldAge<50;
  • 26.  3 Augmentez de la valeur 1 à l'âge de AICHA.  UPDATE tblEmployés  SET fldAge=fldAge+1  WHERE fldNom=‘AICHA';  4. Effacez tous les employés du service Informatique.  DELETE FROM tblEmployés  WHERE fldService='Informatique';
  • 27.  5. Afficher le nom, le prénom et l'âge de tous les employés entrés en service à partir du  1.1.2014  SELECT fldNom, fldPrénom, fldAge  FROM tblEmployés  WHERE fldEntréeService>=#1/1/14#;
  • 28. Comparaison à un filtre  • % représente n'importe quelle séquence de 0 ou plusieurs caractères;  • _ représente un seul caractère quelconque.  Exemple: Pour rechercher des personnes dont le nom est ‘ABDrahime' ou ‘ABDrahmene' ou  'SCHMIT' etc. on définit par exemple le filtre suivant : ‘ABD%'  Exemple: Le filtre 'BL__' sélectionne par exemple les valeurs 'BLEU' ou 'BLUE' mais pas 'BLANC'  Les filtres sont utilisés ensemble avec le mot réservé LIKE. Voici la syntaxe:  . . .  WHERE <Nom du champ> LIKE <Filtre>
  • 29.  Afficher le nom et le prénom des employés dont le prénom contient un trait d'union  (p.ex. MED-LAMINE)  SELECT fldNom, fldPrénom  FROM tblEmployés  WHERE fldPrénom LIKE '%-%';  2. Afficher le nom, le prénom et l'âge des employés dont le nom commence par 'W', est  composé de 5 lettres et se termine par 'R'  SELECT fldNom, fldPrénom, fldAge  FROM tblEmployés  WHERE fldNom LIKE 'W___R';
  • 30. Les opérateurs logiques  Il existe 3 opérateurs logiques:  1. NOT (Négation logique)  2. AND (Et logique)  3. OR (Ou logique)
  • 31.  Afficher le prénom et le nom de tous les employés qui ne travaillent pas dans le service  "Marketing"  SELECT fldPrénom, fldNom  FROM tblEmployés  WHERE NOT fldService='Marketing';  Formulez une requête qui affiche exactement le même résultat, sans utiliser  l'opérateur NOT.  SELECT fldPrénom, fldNom  FROM tblEmployés  WHERE fldService<>'Marketing';