4.- Sentencia SELECT simpleLas consultas de selección se utilizan paraindicar al motor de datos que devuelvainformación de...
4.- Sentencia SELECTSELECT [ALL | DISTINCT] column_list[INTO [nombre_tabla_nueva]][FROM{table_name | view_name}[(pista_opt...
4.- Sentencia SELECTEjemplo básico: con el comodín * muestra todaslas columnas de una tabla:SELECT * FROM employeeSe puede...
Cambiando el encabezado de lascolumnas de resultadosSe pueden utilizar alias en los nombres decolumnas para que sean los n...
Operadores aritméticosSe pueden usar operadores aritméticos en lossiguientes tipos de datos:int, smallint, tinyint, numeri...
FuncionesExisten los siguientes tipos de funciones:1.- Funciones matemáticas.2.- Funciones para manejo de cadena decaracte...
1.- Funciones Matemáticas      ABS(numeric_expr )      CEILING(numeric_expr )     FLOOR(numeric_expr )      EXP(float_expr...
2.- Funciones de manejo de cadena decaracteres+(expression, expression)SUBSTRING(expression, start, length)           RIGH...
3.- Funciones para manejo de fechas      DATEADD( datepart , numero , Fecha )      DATEDIFF( datepart , Fecha1 , Fecha2 ) ...
3.- Funciones para manejo de fechas          Datepart         Abreviación   Valor          day              dd            ...
Operadores de comparaciónSe pueden implementar condiciones debúsqueda utilizando los siguientes operadores decomparación. ...
Operadores de comparación                           Operadores Description                               =      igual     ...
RangosSe pueden obtener renglones en un rango devalores usando la palabra reservada BETWEEN.Se recomienda su uso para tipo...
ListaSe pueden obtener registros que coincidan en unalista de valores usando la instrucción IN. Serecomienda para cualquie...
Manejo de Cadena de caracteres.Se pueden obtener registros basados en unaporción de una cadena de carateres usando lapalab...
Manejo de Cadena de caracteres.Comodines para el manejo de cadena decaracteres :%    una cadena con cero o más caracteres....
Usando multiples criterios de búsquedaHasta el momento se han hecho criterios deselección basados en valores específicos,r...
Valores desconocidosUn valor desconocido es cuando el campo tienela propiedad NULL y al insertarse valores sepueden omitir...
Ordenando datosSe pueden ordenar los datos de resultadosusando la clausula ORDER BY en la sentenciaSELECT.SELECT column_li...
Sentencia TOPEsta sentencia regresa los primeros n elementosde un conjunto de resultados. Su sintaxis es:SELECT TOP n list...
Funciones de agregadoLas funciones de agregado puede retornarvalores sumatorios de un tabla completa o de ungrupo de regis...
Funciones de agregado  Función                                            Resultado  AVG([ALL | DISTINCT] column_name )   ...
Cláusula GROUP BY y HAVINGLa cláusula GROUP BY agrupa datos quesatisfacen los criterios clásula WHERE para serdevueltos en...
Correlación de datosLa correlación de datos es la combinación para recuperardatos de dos o más tablas, hasta este momento ...
1.- Combinaciones cruzadasEs una consulta donde intervienen 2 o mas tablas y tienela característica de no contar con condi...
2.- Combinación internaLas combinaciones conectan dos tablas conbase en una condición de combinaciónque da por resultado u...
2.- Combinación internaSQL Server join sintaxis:SELECT *FROM table_name1 T1 , table_name2 T2Where t1.columnaA = t2.columna...
3.- Combinaciones externas (outer join)Son combinaciones de dos tablas donde semuestran todos los registros de una tabla a...
3.- Combinación externa ( outer join)Existen 3 tipos de combinaciones externas:1.- Left outer join :Muestra todos los regi...
SubconsultasM.C. Daniel Esparza Soto   30
Upcoming SlideShare
Loading in …5
×

Como realizar consultas en sql (Unidad 3)

399 views
283 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
399
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Como realizar consultas en sql (Unidad 3)

  1. 1. 4.- Sentencia SELECT simpleLas consultas de selección se utilizan paraindicar al motor de datos que devuelvainformación de las bases de datos, estainformación es devuelta en forma de conjunto deregistros que se pueden almacenar en un objetorecordset.Hay tres componentes básicos :SELECT column_listFROM table_list[WHERE search_criteria]M.C. Daniel Esparza Soto 1
  2. 2. 4.- Sentencia SELECTSELECT [ALL | DISTINCT] column_list[INTO [nombre_tabla_nueva]][FROM{table_name | view_name}[(pista_optimización)] [[,{table_name2| view_name2}[(pista_optimización)] [...,{table_name16|view_name16}[(pista_optimización)]]][WHERE clause][GROUP BY clause][HAVING clause][ORDER BY clause][COMPUTE clause][FOR BROWSE]M.C. Daniel Esparza Soto 2
  3. 3. 4.- Sentencia SELECTEjemplo básico: con el comodín * 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. 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. 5. Operadores aritméticosSe pueden usar operadores aritméticos en lossiguientes tipos de datos:int, smallint, tinyint, numeric, decimal,float, real, money y smallmoney.Estos operadores son :+ Suma.- Resta./ División.* Multiplicación.% Módulo.M.C. Daniel Esparza Soto 5
  6. 6. FuncionesExisten los siguientes tipos de funciones:1.- Funciones matemáticas.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. 7. 1.- Funciones Matemáticas ABS(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 Soto 7
  8. 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 Soto 8
  9. 9. 3.- Funciones para manejo de fechas DATEADD( 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. 10. 3.- Funciones para manejo de fechas Datepart Abreviación Valor day dd ene-31 day of year dy 1-366 hour hh 0-23 millisecond ms 0-999 minute mi 0-59 month mm 01-dic quarter qq 1-4 second ss 0-59 week wk 0-51 weekday dw 1-7 year yy 1753-9999M.C. Daniel Esparza Soto 10
  11. 11. Operadores de comparaciónSe pueden implementar condiciones debúsqueda utilizando los siguientes operadores decomparación. Se pueden seleccionar renglonescomparando los valores de una columna contraun valor o una expresión.Las expresiones pueden contener constantes,nombres de columnas, funciones osubconsultas.SELECT column_listFROM table_listWHERE nombre_columna OperadorComparacion expressionM.C. Daniel Esparza Soto 11
  12. 12. Operadores de comparación Operadores Description = igual > mayor que < menor que >= mayor o igual que <= menor o igual que <> no igual != no igual !> no mas grande que !< no menor que () orden de precedenciaM.C. Daniel Esparza Soto 12
  13. 13. RangosSe pueden obtener renglones en un rango devalores usando la palabra reservada BETWEEN.Se recomienda su uso para tipos de datosnuméricos y de fecha.SELECT column_list FROM table_listWHEREnombre_columna [NOT] BETWEEN expressionAND expressionM.C. Daniel Esparza Soto 13
  14. 14. ListaSe pueden obtener registros que coincidan en unalista de valores usando la instrucción IN. Serecomienda para cualquier tipo de datos.SELECT column_listFROM table_listWHERE [NOT] nombre_columna[NOT] IN (Lista_Valores) M.C. Daniel Esparza Soto 14
  15. 15. Manejo de Cadena de caracteres.Se pueden obtener registros basados en unaporción 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 expresión regular.SELECT column_listFROM table_listWHERE nombre_columna[NOT] LIKE ‘stringM.C. Daniel Esparza Soto 15
  16. 16. Manejo de Cadena de caracteres.Comodines para el manejo de cadena decaracteres :% una cadena con cero o más caracteres._ Un solo caracter.[] Un caracter en un rango en específico[^] Un caracter que no este contenido en unrango en específico.M.C. Daniel Esparza Soto 16
  17. 17. Usando multiples criterios de búsquedaHasta el momento se han hecho criterios deselección basados en valores específicos,rangos, listas , comparación de cadenas yvalores desconocidos, a continuación se usaránmultiples criterios de búsqueda usando losoperadores lógicos AND, OR, and NOT.Usando los peradores AND and OR podemosjuntar dos o más expresiones.SELECT column_listFROM table_listWHERE [NOT] expression {AND|OR} [NOT]expressionM.C. Daniel Esparza Soto 17
  18. 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 valoresnuméricos.SELECT column_listFROM table_listWHERE column_name IS [NOT] NULLM.C. Daniel Esparza Soto 18
  19. 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. 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 Soto 20
  21. 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 lacláusula GROUP BY y la cláusula HAVING en ellistado de columnas de la sentencia select.M.C. Daniel Esparza Soto 21
  22. 22. Funciones de agregado Función Resultado AVG([ALL | DISTINCT] column_name ) Promedio del valor proporcionado COUNT(*) cuenta el numero de registros COUNT([ALL | DISTINCT] column_name ) cuenta todos los registros distintos MAX(column_name ) Obtiene el valor máximo del registro. MIN(column_name ) Obtienetodos o mínimo del registro.distintos suma el valor nada mas los SUM([ALL | DISTINCT] column_name ) valores del registro proporcionado. Regresa los n primeros valores del TOP n [ PORCENTAJE ] resultado.M.C. Daniel Esparza Soto 22
  23. 23. Cláusula GROUP BY y HAVINGLa cláusula GROUP BY agrupa datos quesatisfacen los criterios clásula WHERE para serdevueltos en una sola fila en un valor deresumen. La cláusula HAVING establece loscriterios que determinan qué filas devolverá lacláusula GROUP BY.SELECT column_listFROM table_listWHERE search_criteria[GROUP BY [ALL] non_aggregate_expression(s)[HAVING] search_criteria]M.C. Daniel Esparza Soto 23
  24. 24. Correlación de datosLa correlación de datos es la combinación para recuperardatos de dos o más tablas, hasta este momento se hanhecho consultas sobre una sola tabla. Los resultadosaparecerán en una sola tabla con columnas de todas lastablas especificadas en la lista de columnas de lasentecia SELECT yque satisfagan el criterio debúsqueda.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 Soto 24
  25. 25. 1.- Combinaciones cruzadasEs una consulta donde intervienen 2 o mas tablas y tienela característica de no contar con condiciones decombinación, 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 multiplicación 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. 26. 2.- Combinación internaLas combinaciones conectan dos tablas conbase en una condición de combinaciónque da por resultado una nueva tabla con lasfilas que satisfacen dicha condición. Lascombinaciones internas ofrecen informacióncuando se encuentran en ambas tablasinformación equivalente.Los tipos más comunes son:1.- Las combinaciones equivalentes2.- Las combinaciones naturales.M.C. Daniel Esparza Soto 26
  27. 27. 2.- Combinación 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. 28. 3.- Combinaciones externas (outer join)Son combinaciones de dos tablas donde semuestran todos los registros de una tabla aunqueno exista ningún registro coincidente en la otratabla.La diferencia con una combinación interna esque en la combinación interna el registro debeexistir en ambas tablas para mostrarse en elconjunto de resultados, cosa que no sucede conla combinación externa, ya que esa muestra losregistros aunque no exista un registrocoincidente en la otra tabla.M.C. Daniel Esparza Soto 28
  29. 29. 3.- Combinación 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 Soto 29
  30. 30. SubconsultasM.C. Daniel Esparza Soto 30

×