- 1. 4.- Sentencia SELECT simpleLas consultas de seleccin se
utilizan paraindicar al motor de datos que devuelvainformacin de
las bases de datos, estainformacin es devuelta en forma de conjunto
deregistros que se pueden almacenar en un objetorecordset.Hay tres
componentes bsicos :SELECT column_listFROM table_list[WHERE
search_criteria]M.C. Daniel Esparza Soto1
2. 4.- Sentencia SELECTSELECT [ALL | DISTINCT] column_list[INTO
[nombre_tabla_nueva]][FROM{table_name |
view_name}[(pista_optimizacin)][[,{table_name2|
view_name2}[(pista_optimizacin)][...,{table_name16|view_name16}[(pista_optimizacin)]]][WHERE
clause][GROUP BY clause][HAVING clause][ORDER BY clause][COMPUTE
clause][FOR BROWSE]M.C. Daniel Esparza Soto2 3. 4.- Sentencia
SELECTEjemplo bsico: con el comodn * muestra todaslas columnas de
una tabla:SELECT * FROM employeeSe pueden listar algunas columnas
de la tabla:SELECT employeeid , firstname FROMemployeeM.C. Daniel
Esparza Soto 3 4. Cambiando el encabezado de lascolumnas de
resultadosSe pueden utilizar alias en los nombres decolumnas para
que sean los nombres masfamiliares.SELECT column_heading =
column_nameFROM table_nameoSELECT column_name [AS]
column_headingFROM table_nameEjemplo:SELECT Clave = employeeid ,
firstnameas Nombre FROM employeeM.C. Daniel Esparza Soto 4 5.
Operadores aritmticosSe pueden usar operadores aritmticos en
lossiguientes tipos de datos:int, smallint, tinyint, numeric,
decimal,float, real, money y smallmoney.Estos operadores son :+
Suma.- Resta./ Divisin.* Multiplicacin.% Mdulo.M.C. Daniel Esparza
Soto 5 6. FuncionesExisten los siguientes tipos de funciones:1.-
Funciones matemticas.2.- Funciones para manejo de cadena
decaracteres.3.- Funciones manejo de fechas.Su sintaxis es:SELECT
Nombrefuncion(parametros)M.C. Daniel Esparza Soto 6 7. 1.-
Funciones MatemticasABS(numeric_expr )CEILING(numeric_expr )
FLOOR(numeric_expr )EXP(float_expr )LOG10(float_expr )
LOG(float_expr )POWER(numeric_expr,y ) SQRT(float_expr )RAND([seed]
)ROUND(numeric_expr,len )SIGN(numeric_expr )M.C. Daniel Esparza
Soto7 8. 2.- Funciones de manejo de cadena
decaracteres+(expression, expression)SUBSTRING(expression, start,
length) RIGHT(char_expr, integer_expr)ASCII(char_expr)
CHAR(integer_expr)STR(float_expr[,length[,decimal]])SPACE(integer_expr)DIFFERENCE(char_expr1,
char_exr2)LOWER(char_expr) UPPER(char_expr)LTRIM(char_expr)
RTRIM(char_expr)PATINDEX(`%pattern%, expression)CHARINDEX(pattern,
expression)REPLICATE(char_expr,
integer_expr)REVERSE(char_expr)SOUNDEX(char_expr)STUFF(char_expr1,
start, length, char_expr2)LEN(Char_exp)M.C. Daniel Esparza Soto8 9.
3.- Funciones para manejo de fechasDATEADD( datepart , numero ,
Fecha )DATEDIFF( datepart , Fecha1 , Fecha2 )DATENAME( datepart ,
Fecha )DATEPART( datepart , Fecha )DAY( Fecha )MONTH( Fecha )YEAR(
Fecha )GETDATE()GETUTCDATE()M.C. Daniel Esparza Soto 9 10. 3.-
Funciones para manejo de fechasDatepart Abreviacin
Valordayddene-31day of yeardy1-366hour
hh0-23millisecondms0-999minute
mi0-59monthmm01-dicquarterqq1-4second ss0-59week
wk0-51weekdaydw1-7year yy1753-9999M.C. Daniel Esparza Soto 10 11.
Operadores de comparacinSe pueden implementar condiciones debsqueda
utilizando los siguientes operadores decomparacin. Se pueden
seleccionar renglonescomparando los valores de una columna contraun
valor o una expresin.Las expresiones pueden contener
constantes,nombres de columnas, funciones osubconsultas.SELECT
column_listFROM table_listWHERE nombre_columna OperadorComparacion
expressionM.C. Daniel Esparza Soto11 12. Operadores de comparacin
Operadores Description =igual >mayor que = mayor o igual que no
mas grande que !< no menor que () orden de precedenciaM.C.
Daniel Esparza Soto 12 13. RangosSe pueden obtener renglones en un
rango devalores usando la palabra reservada BETWEEN.Se recomienda
su uso para tipos de datosnumricos y de fecha.SELECT column_list
FROM table_listWHEREnombre_columna [NOT] BETWEEN expressionAND
expressionM.C. Daniel Esparza Soto 13 14. ListaSe pueden obtener
registros que coincidan en unalista de valores usando la instruccin
IN. Serecomienda para cualquier tipo de datos.SELECT
column_listFROM table_listWHERE [NOT] nombre_columna[NOT] IN
(Lista_Valores) M.C. Daniel Esparza Soto14 15. Manejo de Cadena de
caracteres.Se pueden obtener registros basados en unaporcin de una
cadena de carateres usando lapalabra reservada LIKE. Es utilizada
en los tiposde datos char, varchar, text, datetime,
andsmalldatetime. Se pueden utilizar caracterescomodines para
formar una expresin regular.SELECT column_listFROM table_listWHERE
nombre_columna[NOT] LIKE stringM.C. Daniel Esparza Soto15 16.
Manejo de Cadena de caracteres.Comodines para el manejo de cadena
decaracteres :%una cadena con cero o ms caracteres._Un solo
caracter.[] Un caracter en un rango en especfico[^] Un caracter que
no este contenido en unrango en especfico.M.C. Daniel Esparza
Soto16 17. Usando multiples criterios de bsquedaHasta el momento se
han hecho criterios deseleccin basados en valores
especficos,rangos, listas , comparacin de cadenas yvalores
desconocidos, a continuacin se usarnmultiples criterios de bsqueda
usando losoperadores lgicos AND, OR, and NOT.Usando los peradores
AND and OR podemosjuntar dos o ms expresiones.SELECT
column_listFROM table_listWHERE [NOT] expression {AND|OR}
[NOT]expressionM.C. Daniel Esparza Soto 17 18. Valores
desconocidosUn valor desconocido es cuando el campo tienela
propiedad NULL y al insertarse valores sepueden omitir datos para
ese campo. No es lomismo que espacio en blanco con longitud
ceropara tipos de datos char o valores 0 para
valoresnumricos.SELECT column_listFROM table_listWHERE column_name
IS [NOT] NULLM.C. Daniel Esparza Soto18 19. Ordenando datosSe
pueden ordenar los datos de resultadosusando la clausula ORDER BY
en la sentenciaSELECT.SELECT column_listFROM table_list[ORDER BY
nom_columna|num_lista [ASC|DESC] ]M.C. Daniel Esparza Soto 19 20.
Sentencia TOPEsta sentencia regresa los primeros n elementosde un
conjunto de resultados. Su sintaxis es:SELECT TOP n lista_Columnas
FROMNombre_tablaM.C. Daniel Esparza Soto20 21. Funciones de
agregadoLas funciones de agregado puede retornarvalores sumatorios
de un tabla completa o de ungrupo de registros de una tabla. Las
funciones deagregado son usadas generalmente con laclusula GROUP BY
y la clusula HAVING en ellistado de columnas de la sentencia
select.M.C. Daniel Esparza Soto21 22. Funciones de
agregadoFuncinResultadoAVG([ALL | DISTINCT] column_name ) Promedio
del valor proporcionadoCOUNT(*) cuenta el numero de
registrosCOUNT([ALL | DISTINCT] column_name ) cuenta todos los
registros distintosMAX(column_name )Obtiene el valor mximo del
registro.MIN(column_name )Obtienetodos o mnimo del
registro.distintos suma el valor nada mas losSUM([ALL | DISTINCT]
column_name ) valores del registro proporcionado. Regresa los n
primerosvalores delTOP n [ PORCENTAJE ] resultado.M.C. Daniel
Esparza Soto22 23. Clusula GROUP BY y HAVINGLa clusula GROUP BY
agrupa datos quesatisfacen los criterios clsula WHERE para
serdevueltos en una sola fila en un valor deresumen. La clusula
HAVING establece loscriterios que determinan qu filas devolver
laclusula GROUP BY.SELECT column_listFROM table_listWHERE
search_criteria[GROUP BY [ALL] non_aggregate_expression(s)[HAVING]
search_criteria]M.C. Daniel Esparza Soto23 24. Correlacin de
datosLa correlacin de datos es la combinacin para recuperardatos de
dos o ms tablas, hasta este momento se hanhecho consultas sobre una
sola tabla. Los resultadosaparecern en una sola tabla con columnas
de todas lastablas especificadas en la lista de columnas de
lasentecia SELECT yque satisfagan el criterio debsqueda.Existen los
siguientes tipos de combinaciones (JOIN):1.Cruzadas (Cross
join).2.Internas (Inner Join).3.Externas (Outer
Join).4.Autocombinaciones (Self join).M.C. Daniel Esparza Soto24
25. 1.- Combinaciones cruzadasEs una consulta donde intervienen 2 o
mas tablas y tienela caracterstica de no contar con condiciones
decombinacin, produciendo un conjunto de resultadosdonde el numero
de columnas es igual a la suma decolumnas de las tablas que
intervienen, y el numero derenglones es igual a la multiplicacin de
de los renglonesde ambas columnas:Sintaxis ANSI:Select * from
tabla1 cross join tabla2Sintaxis Transact-SQL:Select * from tabla1,
tabla2M.C. Daniel Esparza Soto 25 26. 2.- Combinacin internaLas
combinaciones conectan dos tablas conbase en una condicin de
combinacinque da por resultado una nueva tabla con lasfilas que
satisfacen dicha condicin. Lascombinaciones internas ofrecen
informacincuando se encuentran en ambas tablasinformacin
equivalente.Los tipos ms comunes son:1.- Las combinaciones
equivalentes2.- Las combinaciones naturales.M.C. Daniel Esparza
Soto 26 27. 2.- Combinacin internaSQL Server join sintaxis:SELECT
*FROM table_name1 T1 , table_name2 T2Where t1.columnaA =
t2.columnaBANSI join sintaxis:SELECT *FROM table_name1 T1INNER JOIN
table_name2 T2ON t1.columnaA = t2.columnaBM.C. Daniel Esparza Soto
27 28. 3.- Combinaciones externas (outer join)Son combinaciones de
dos tablas donde semuestran todos los registros de una tabla
aunqueno exista ningn registro coincidente en la otratabla.La
diferencia con una combinacin interna esque en la combinacin
interna el registro debeexistir en ambas tablas para mostrarse en
elconjunto de resultados, cosa que no sucede conla combinacin
externa, ya que esa muestra losregistros aunque no exista un
registrocoincidente en la otra tabla.M.C. Daniel Esparza Soto 28
29. 3.- Combinacin externa ( outer join)Existen 3 tipos de
combinaciones externas:1.- Left outer join :Muestra todos los
registros de la tabla que seencuentra a la izquierda de la consulta
aunqueno tenga registros en la tabla de la derecha.2.- Right outer
join :Muestra todos los registros de la tabla que seencuentra a la
derecha de la consulta aunque notenga registros en la tabla de la
izquierda.3.- Full outer join :Muestra todos los registros de ambas
tablasaunque no haya registros que coincidan.M.C. Daniel Esparza
Soto29 30. SubconsultasM.C. Daniel Esparza Soto 30