View
223
Download
0
Category
Preview:
Citation preview
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
Recommended