Presentation SQL (1)

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 ;