unidad_3_microsoft_p5e_sql_2005_v1.doc

Upload: rolando-arqque

Post on 02-Mar-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 Unidad_3_Microsoft_P5E_SQL_2005_v1.doc

    1/13

    2007

    Programa 5 Estrellas

    SQL Server 2005

    Estrella 1Unidad 3

    Introduccin al SQL

  • 7/26/2019 Unidad_3_Microsoft_P5E_SQL_2005_v1.doc

    2/13

    Contenido del curso

    Contenido del curso...........................................................................................2Unidad 3 Introduccin al SQL..........................................................................3

    Objetivos........................................................................................................3Conceptos Claves..........................................................................................4Introduccin al SQL........................................................................................4!s"ueda de in#or$acin en una tabla.........................................................4Condiciones $!ltiples para una b!s"ueda....................................................%!s"ueda de in#or$acin en varias tablas relacionales & 'OI( QU)*+.....,-unciones para el $anejo de rupo de #ilas................................................/0Condiciones de b!s"ueda de un rupo de lneas1 I(5........................//Sub&b!s"uedas o sub"ueries....................................................................../2

    6ina 2 de /3

  • 7/26/2019 Unidad_3_Microsoft_P5E_SQL_2005_v1.doc

    3/13

    Unidad 3 Introduccin al SQL

    Objetivos

    )ste $odulo contiene una introduccin inicial al SQL8

    $encionando la descripcin de consultas 9select: ;consultas de tablas relacionadas 9join: del $otor debase de datos.

    6ina 3 de /3

  • 7/26/2019 Unidad_3_Microsoft_P5E_SQL_2005_v1.doc

    4/13

    Conceptos Claves

    SQL es un lenuaje "ue per$ite reali el Servidor atiende la consulta. ?eesta $anera8 el cliente no utili

  • 7/26/2019 Unidad_3_Microsoft_P5E_SQL_2005_v1.doc

    5/13

    S)L)C D -*OB ?)6>

    )l *esultado es el siuiente1

    6or eje$plo8 para seleccionar deter$inados reistros o #ilas de la base

    de datos8 debe aEadirse una condicin con el co$ando F)*) alusar S)L)C... -*OB1

    S)L)C D

    -*OB )B6

    F)*) ?)6(OG30>

    6ara obtener todas las colu$nas pero de los e$pleados del?eparta$ento n!$ero 301

    )l *esultado es el siuiente1

    F)*) oblia al SQL a buscar en la in#or$acin de la tabla ; $ostrarsolo a"uellas lneas o reistros "ue cu$ple la condicin.

    Condiciones mltiples para una bsqueda

    veces F)*) va seuido de $s de una condicin.

    6or eje$plo8 consultas con dos condiciones1

    S)L)C )(B)8

    'O8

    SL

    6ina % de /3

  • 7/26/2019 Unidad_3_Microsoft_P5E_SQL_2005_v1.doc

    6/13

    -*OB )B6

    F)*) 'O G HSL)SB(H (? SL G/00>

    )n este caso se piden los datos del no$bre8 trabajo8 salario de

    a"uellos e$pleados de la tabla cu;o e$pleo sea HSL)SB(H ; susalario $a;or o iual "ue /001

    )l *esultado es el siuiente1

    6ara las condiciones alternativas8 neativas 9e@clu;entes: se utili

    6ide los datos de e$pleados con cateora $anaer o "ue su salariosea $a;or "ue /001

    )l *esultado es el siuiente1

    )l siuiente eje$plo pide un listado con los no$bres8 cateoras ;

    n!$ero de departa$ento de los e$pleados cu;o trabajo sea clercJ9o#icinista: ; su departa$ento sea distinto del 308

    S)L)C )(B)8

    'O8

    ?)6(O

    -*OB )B6

    6ina K de /3

  • 7/26/2019 Unidad_3_Microsoft_P5E_SQL_2005_v1.doc

    7/13

    F)*) 'O G HCL)*CM (? ?)6(ONGM30M>

    )l *esultado es el siuiente1

    Bediante los co$andos ))F))( ; (? pueden pedirse datos

    co$prendidos en un rano deter$inado. )l eje$plo siuiente busca ;$uestra el no$bre ; el salario de los e$pleados cu;o salario estco$prendido entre ,00 ; P001

    S)L)C )(B)8

    SL

    -*OB )B6

    F)*) SL )F))( ,00 (? P00>

    )l *esultado es el siuiente1

    )l co$ando I( per$ite seleccionar lneas cu;o ca$po contena uno

    de los valores de una lista especi#icada entre parntesis1

    S)L)C D

    -*OB ?)6

    F)*) ?)6(O I( 9/0830:>

    )l *esultado es el siuiente1

    6ina 7 de /3

  • 7/26/2019 Unidad_3_Microsoft_P5E_SQL_2005_v1.doc

    8/13

    Bsqueda de informacin en varias tablas relacionales -JOI Q!"#$

    asta aAora se Aan e#ectuado b!s"uedas en una sola tabla8 pero puedeocurrir "ue la in#or$acin "ue busca$os no est al$acenada en una solatabla. Co$o SQL es una base de datos relacional per$ite seleccionarin#or$acin de $s de una tabla ; co$binar los resultados en un listado. Lab!s"ueda co$binada en $s de una tabla se deno$ina b!s"ueda relacionalojoin query.

    )n las bases de datos jerr"uicas ; en anillo8 las relaciones son estticaspor"ue estn per#ecta$ente de#inidas en la estructura de la base de datosdesde el diseEo8 por lo "ue las consultas deben seuir ese $is$o es"ue$a.

    )n las bases de datos relacionales co$o SQL8 las relaciones son din$icas>se establecen en el $o$ento de la consulta8 ; es posible e@traer in#or$acinse!n convena en cada caso.

    6or eje$plo8 si se desea saber el no$bre del departa$ento donde trabajadeter$inado e$pleado8 ; se intenta buscar en la tabla )B6 9e$pleados:8puede verse "ue no tiene colu$na con el no$bre de departa$ento> sine$baro8 la tabla de departa$entos si tiene el departa$ento 9n!$ero ;no$bre:. Co$o las dos tablas tienen una colu$na en co$!n &elnord$asculineRR de departa$ento&8 es posible relacionar las dos tablas. )stopuede Aacerse con dos b!s"uedas1

    6ri$era !s"ueda

    S)L)C )(B)8

    ?)6(O

    -*OB )B6

    F)*) )(B) G HF*?H>

    )l *esultado es el siuiente1

    Seunda !s"ueda

    S)L)C LOC

    -*OB ?)6

    6ina , de /3

  • 7/26/2019 Unidad_3_Microsoft_P5E_SQL_2005_v1.doc

    9/13

    F)*) ?)6(O G 30>

    )l *esultado es el siuiente1

    a$bin puede llearse al $is$o resultado $ediante una !nica

    b!s"ueda indicando la tabla ; la colu$na separados por un punto8co$o en el eje$plo siuiente 1

    S)L)C )(B)8

    LOC

    -*OB )B68

    ?)6

    F)*) )(B)GHHI(5H (? EMP!EP"#$G!EP"!EP"#$>

    )l *esultado es el siuiente1

    )n este eje$plo8 se buscan los e$pleados en la tabla )B6 cu;o

    no$bre es I(5 ; se utili

  • 7/26/2019 Unidad_3_Microsoft_P5E_SQL_2005_v1.doc

    10/13

    )n el eje$plo anterior8 en la tabla )B6 se busca la #ila "ue contiene ale$pleado HI(5H8 ; se deter$ina el n!$ero de departa$ento al "uepertenece ?)6(O. Con este n!$ero de departa$ento de la tabla ?)6 see@trae el reistro con el $is$o valor de ?)6(O. La clusula

    )B6.?)6(O G?)6.?)6(O

    especi#ica "ue los reistros de las tablas )B6 ; ?)6 deben coincidir en elvalor del ca$po o colu$na ?)6(O.

    %unciones para el manejo de &rupo de filas

    Las #unciones para rupos per$iten seleccionar in#or$acin a partir de

    rupos de lneas o reistros. 6or eje$plo8 pueden aruparse todos los

    e$pleados "ue pertene

    )l *esultado es el siuiente1

    )n una b!s"ueda de rupos8 cada lnea en el resultado de la b!s"ueda8corresponde a un rupo de lneas de nuestra tabla. La colu$na "ue se ponea continuacin de roup b; es a"uella por la "ue se "uiere arupar las lneas

    de la tabla. )n el eje$plo anterior cada lnea de la tabla )B6 se inclu;e enuno de los tres rupos8 uno para cada departa$ento8 dependiendo de suvalor en el ca$po ?)6O1 todas las lneas de su $is$o rupo tienen el$is$o n!$ero de departa$ento.

    6ode$os co$binar las #unciones de rupo con las b!s"uedas relacionales.)@isten tres #unciones "ue pueden utili

  • 7/26/2019 Unidad_3_Microsoft_P5E_SQL_2005_v1.doc

    11/13

    5% 6ara saber el pro$edio de los valores de ca$pos espec#icos en

    cada rupo.

    )l siuiente eje$plo tiene co$o objetivo saber cuantos e$pleadosestn trabajando en cada cateora por cada departa$ento8 cuantossecretarios Aa; en el departa$ento de ventas ;8 en esos rupos8 cules la su$a ; $edia de los salarios1

    S)L)C ?(B)8

    'O8

    SUB9SL:8

    COU(9D:8

    59SL:

    -*OB )B68?)6

    F)*) )B6.?)6(OG?)6.?)6(O

    5*OU6 + ?(B)8'O>

    )l *esultado es el siuiente1

    Condiciones de bsqueda de un &rupo de l'neas( )*+I,s co$o en el operador F)*) se especi#ican las condiciones para lasb!s"uedas con lneas individuales8 con I(5 pueden especi#icarse lascondiciones de b!s"ueda para rupos de lneas.

    Supona$os "ue se "uiere reali

  • 7/26/2019 Unidad_3_Microsoft_P5E_SQL_2005_v1.doc

    12/13

    'O8

    SUB9SL:8

    COU(9D:8

    59SL:

    -*OB )B6

    F)*) )B6.?)6(O G ?)6.?)6(O

    5*OU6 + ?(B)8'O

    I(5 COU(9D:G2

    )l *esultado es el siuiente1

    Sub-bsquedas o subqueries

    Supnase8 por eje$plo8 "ue se desea obtener una lista con todos lose$pleados "ue tienen el $is$o e$pleo "ue Tin ; SQL lo busca8 enlo "ue constituira una b!s"ueda subordinada o subb!s"ueda1

    S)L)C )(B)8

    'O

    -*OB )B6

    F)*) 'O G

    9S)L)C 'O

    -*OB )B6

    F)*) )(B) G HI(5H::>

    )l *esultado es el siuiente1

    6ina /2 de /3

  • 7/26/2019 Unidad_3_Microsoft_P5E_SQL_2005_v1.doc

    13/13

    SQL reali