Upload
samir-barbouche
View
217
Download
0
Embed Size (px)
Citation preview
8/17/2019 Presentation SQL (1)
1/31
Présentation du langage SQLPrésentation du langage SQL
8/17/2019 Presentation SQL (1)
2/31
La base exempleLa base exemple
8/17/2019 Presentation SQL (1)
3/31
Langage SQLLangage SQL
DDL - Langage de défnition des donnéesDDL - Langage de défnition des données
DML - Langage de manipulation des donnéesDML - Langage de manipulation des données
DCL - Langage de contrôle des donnéesDCL - Langage de contrôle des données
CREAE A!LE" ALER A!LE" DR#$ A!LE" R%&CAE A!LECREAE A!LE" ALER A!LE" DR#$ A!LE" R%&CAE A!LE
SELEC" '&SER" %$DAE" DELEESELEC" '&SER" %$DAE" DELEE
CREAE %SER" (RA& SELEC)CREAE %SER" (RA& SELEC)
8/17/2019 Presentation SQL (1)
4/31
Langage SQLLangage SQL
DDL - Langage de défnition des donnéesDDL - Langage de défnition des données
CREAE A!LE* Création d+une nou,elle tableCREAE A!LE* Création d+une nou,elle table
ALER A!LE* la mise .our d+une table existanteALER A!LE* la mise .our d+une table existante
DR#$ A!LE* la suppression d+une table existanteDR#$ A!LE* la suppression d+une table existante
R%&CAE A!LE* Mettre /éro une table existanteR%&CAE A!LE* Mettre /éro une table existante
8/17/2019 Presentation SQL (1)
5/31
Langage SQLLangage SQL
DML - Langage de manipulation des donnéesDML - Langage de manipulation des donnéesSELEC* a0c1e le contenu de l+ensemble des colonnes c1oisieSELEC* a0c1e le contenu de l+ensemble des colonnes c1oisie
'&SER* 'nsérer des données dans la table'&SER* 'nsérer des données dans la table
%$DAE * mise .our des lignes%$DAE * mise .our des lignes
DELEE * suppression des lignesDELEE * suppression des lignes
8/17/2019 Presentation SQL (1)
6/31
Langage SQLLangage SQL
DCL - Langage de contrôle des donnéesDCL - Langage de contrôle des données
CREAE %SER* création d+un utilisateur pour le ser,eurCREAE %SER* création d+un utilisateur pour le ser,eur
(RA& SELEC* accorder des droits aux utilisateurs(RA& SELEC* accorder des droits aux utilisateurs
8/17/2019 Presentation SQL (1)
7/31
Commande Create tableCommande Create table
CREATE TABLE (
[id] [int] IDENTITY (1,1),
[ATTRIBUT 1] [type ] NOT NULL,
[ATTRIBUT 2] [type ] NULL,
[ATTRIBUT n] [type ] NULL
)
8/17/2019 Presentation SQL (1)
8/31
Commande Create tableCommande Create table
CREATE TABLE Et!di"nt (
[id] [int] IDENTITY (1,1),
[n#$] [type ] NOT NULL,
[p%en#$] [n&"%'"%(*) ] NULL,
['+"e] [n&"%'"% (*)] NULL,[$#d!+e] [n&"%'"% (*)] NULL,
[$#yenne] [n&"%'"% (*)] NULL,
[ATTRIBUT n] [type ] NULL
)
8/17/2019 Presentation SQL (1)
9/31
Commande SELECCommande SELEC
SELECSELEC 2 ALL 3 D'S'&C 2 #& 4 expression 2" )))5 62 ALL 3 D'S'&C 2 #& 4 expression 2" )))5 65 55 5
7 3 expression 2 AS nom8d8a0c1age 5 2" )))57 3 expression 2 AS nom8d8a0c1age 5 2" )))5
9R#M9R#M éléments8:rom 2" )))5éléments8:rom 2" )))5
2 ;
8/17/2019 Presentation SQL (1)
10/31
Commande SELECCommande SELEC
SELEC 7 9R#M :ondsSELEC 7 9R#M :onds
SELEC nom8:onds" isin 9R#M :onds #RDER !=SELEC nom8:onds" isin 9R#M :onds #RDER !=nom8:onds DESCnom8:onds DESC
8/17/2019 Presentation SQL (1)
11/31
Commande SELEC ? opérateurCommande SELEC ? opérateurD'S'&CD'S'&C
SELEC de,ise" nom8inst 9R#M instrumentsSELEC de,ise" nom8inst 9R#M instruments
SELEC D'S'&C de,ise 9R#M instrumentsSELEC D'S'&C de,ise 9R#M instruments
8/17/2019 Presentation SQL (1)
12/31
Commande SELEC ? opérateur ASCommande SELEC ? opérateur AS
SELEC nom8inst AS libellé" @toto+ asSELEC nom8inst AS libellé" @toto+ as
nou,elle8colonne 9R#M instrumentsnou,elle8colonne 9R#M instruments
8/17/2019 Presentation SQL (1)
13/31
Commande SELEC ? opérateurCommande SELEC ? opérateurC#%&46C#%&46
SELEC count476 9R#M prixSELEC count476 9R#M prix
SELEC count4distinct id8inst6 9R#M prixSELEC count4distinct id8inst6 9R#M prix
8/17/2019 Presentation SQL (1)
14/31
Commande SELEC ? 9onctionsCommande SELEC ? 9onctionsd+agrégatsd+agrégats
S%MS%M 4C#L#&&E64C#L#&&E6S%M distinct 4C#L#&&E6S%M distinct 4C#L#&&E6
Max 4C#L#&&E6Max 4C#L#&&E6Min 4C#L#&&E6Min 4C#L#&&E6
A>( 4C#L#&&E6A>( 4C#L#&&E6A>( distinct 4C#L#&&E6A>( distinct 4C#L#&&E6
8/17/2019 Presentation SQL (1)
15/31
Clause ;
8/17/2019 Presentation SQL (1)
16/31
Clause ;
8/17/2019 Presentation SQL (1)
17/31
Clause ;
8/17/2019 Presentation SQL (1)
18/31
SELEC sur plusieurs tablesSELEC sur plusieurs tables
#n ,eut trou,er la liste des gérants associés aux#n ,eut trou,er la liste des gérants associés aux:onds:onds
$lusieurs mét1odes possibles * $roduit cartésien"$lusieurs mét1odes possibles * $roduit cartésien" Tointure interne" Tointure Externe Tointure interne" Tointure Externe
ableable9#&DS9#&DS
ableable(ERA&S(ERA&S
8/17/2019 Presentation SQL (1)
19/31
SELEC sur plusieurs tablesSELEC sur plusieurs tables
$roduit cartésien$roduit cartésien
SELEC nom8gerant" nom8:ondsSELEC nom8gerant" nom8:onds9R#M :onds" gerants9R#M :onds" gerants
8/17/2019 Presentation SQL (1)
20/31
SELEC sur plusieurs tablesSELEC sur plusieurs tables
Tointure interne Tointure interneSELEC g)nom8gerant" :)nom8:ondsSELEC g)nom8gerant" :)nom8:onds9R#M :onds :" gerants g9R#M :onds :" gerants g;
8/17/2019 Presentation SQL (1)
21/31
Clause (R#%$ != Clause (R#%$ !=
SELEC id8inst" M'&4datobs6 as dateminSELEC id8inst" M'&4datobs6 as datemin9R#M prix9R#M prix(R#%$ != id8inst(R#%$ != id8inst
8/17/2019 Presentation SQL (1)
22/31
Clause
8/17/2019 Presentation SQL (1)
23/31
Les sous-reuUtesLes sous-reuUtes
SELEC nom8inst" prixSELEC nom8inst" prix
9R#M instruments i" prix p"9R#M instruments i" prix p"4SELEC id8inst" MAV4datobs6 as4SELEC id8inst" MAV4datobs6 as
datemaxdatemax9R#M prix (R#%$ != id8inst6 d9R#M prix (R#%$ != id8inst6 d
;
8/17/2019 Presentation SQL (1)
24/31
Les sous-reuUtesLes sous-reuUtes
SELEC nom8inst" prixSELEC nom8inst" prix
9R#M instruments i" prix p9R#M instruments i" prix p;
8/17/2019 Presentation SQL (1)
25/31
Commande '&SERCommande '&SER
'&SER '&#'&SER '&#
tabletable
2 4 colonne 2" )))5 6 52 4 colonne 2" )))5 6 5
DE9A%L >AL%ES 3 DE9A%L >AL%ES 3 >AL%ES>AL%ES 44 expression 3 expression 3DE9A%L F 2" )))5DE9A%L F 2" )))5 66 2" )))52" )))5 33 reuUtereuUte FF
2 RE%R&'&( 7 3 expression8sortie 2 AS2 RE%R&'&( 7 3 expression8sortie 2 ASnom8sortie 5 2" )))5 5nom8sortie 5 2" )))5 5
C d '&SERC d '&SER
8/17/2019 Presentation SQL (1)
26/31
Commande '&SERCommande '&SER
'&SER '&# prix 4 prix" id8inst" datobs 6'&SER '&# prix 4 prix" id8inst" datobs 6>AL%ES 4KO)J" J">AL%ES 4KO)J" J"
con,ert4datetime"@OPNOW+"JJO66con,ert4datetime"@OPNOW+"JJO66
#racle * '&SER '&# prix 4 prix" id8inst" datobs 6#racle * '&SER '&# prix 4 prix" id8inst" datobs 6>AL%ES 4KO)J" J" to8date4@OPNOW+"+XXXXmmdd+66>AL%ES 4KO)J" J" to8date4@OPNOW+"+XXXXmmdd+66
C d '&SERC d '&SER
8/17/2019 Presentation SQL (1)
27/31
Commande '&SERCommande '&SER
'&SER '&# prix 4 id8inst" datobs" prix 6'&SER '&# prix 4 id8inst" datobs" prix 6
SELEC N" S)datobs" S)prixSELEC N" S)datobs" S)prix9R#M prix S9R#M prix S;
8/17/2019 Presentation SQL (1)
28/31
Commande %$DAECommande %$DAE
8/17/2019 Presentation SQL (1)
29/31
Commande %$DAECommande %$DAE
%$DAE de,ises%$DAE de,ises
SE nom8de,ise @%S Dollar+SE nom8de,ise @%S Dollar+;
8/17/2019 Presentation SQL (1)
30/31
Commande %$DAECommande %$DAE
%$DAE instruments%$DAE instruments
SE nom8inst nom8inst G - G d)nom8de,iseSE nom8inst nom8inst G - G d)nom8de,ise9R#M de,ises d9R#M de,ises d;
8/17/2019 Presentation SQL (1)
31/31
Commande DELEECommande DELEE
DELEE 9R#MDELEE 9R#M 2 #&L= 52 #&L= 5 tabletable 2 2 AS 5 alias 52 2 AS 5 alias 5
2 %S'&( liste8using 52 %S'&( liste8using 5
2 ;