SlideShare uma empresa Scribd logo
1 de 30
4.- Sentencia SELECT simple

Las consultas de selección se utilizan para
indicar al motor de datos que devuelva
información de las bases de datos, esta
información es devuelta en forma de conjunto de
registros que se pueden almacenar en un objeto
recordset.
Hay tres componentes básicos :
SELECT column_list
FROM table_list
[WHERE search_criteria]

M.C. Daniel Esparza Soto                          1
4.- Sentencia SELECT

SELECT [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
4.- Sentencia SELECT

Ejemplo básico: con el comodín * muestra todas
las columnas de una tabla:
SELECT * FROM employee

Se pueden listar algunas columnas de la tabla:
SELECT employeeid , firstname FROM
employee




M.C. Daniel Esparza Soto                         3
Cambiando el encabezado de las
columnas de resultados
Se pueden utilizar alias en los nombres de
columnas para que sean los nombres mas
familiares.
SELECT column_heading = column_name
FROM table_name
o
SELECT column_name [AS] column_heading
FROM table_name
Ejemplo:
SELECT Clave = employeeid , firstname
as Nombre FROM employee
M.C. Daniel Esparza Soto                     4
Operadores aritméticos

Se pueden usar operadores aritméticos en los
siguientes 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
Funciones

Existen los siguientes tipos de funciones:
1.- Funciones matemáticas.
2.- Funciones para manejo de cadena de
caracteres.
3.- Funciones manejo de fechas.

Su sintaxis es:

SELECT Nombrefuncion(parametros)

M.C. Daniel Esparza Soto                     6
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
2.- Funciones de manejo de cadena de
caracteres
+(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
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
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-9999



M.C. Daniel Esparza Soto                             10
Operadores de comparación

Se pueden implementar condiciones de
búsqueda utilizando los siguientes operadores de
comparación. Se pueden seleccionar renglones
comparando los valores de una columna contra
un valor o una expresión.
Las expresiones pueden contener constantes,
nombres de columnas, funciones o
subconsultas.
SELECT column_list
FROM table_list
WHERE nombre_columna OperadorComparacion expression

M.C. Daniel Esparza Soto                          11
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 precedencia
M.C. Daniel Esparza Soto                                     12
Rangos

Se pueden obtener renglones en un rango de
valores usando la palabra reservada BETWEEN.
Se recomienda su uso para tipos de datos
numéricos y de fecha.

SELECT column_list FROM table_list
WHERE
nombre_columna [NOT] BETWEEN expression
AND expression



M.C. Daniel Esparza Soto                   13
Lista

Se pueden obtener registros que coincidan en una
lista de valores usando la instrucción IN. Se
recomienda para cualquier tipo de datos.

SELECT column_list
FROM table_list
WHERE [NOT] nombre_columna[NOT] IN (Lista_Valores)




 M.C. Daniel Esparza Soto                        14
Manejo de Cadena de caracteres.

Se pueden obtener registros basados en una
porción de una cadena de carateres usando la
palabra reservada LIKE. Es utilizada en los tipos
de datos char, varchar, text, datetime, and
smalldatetime. Se pueden utilizar caracteres
comodines para formar una expresión regular.

SELECT column_list
FROM table_list
WHERE nombre_columna[NOT] LIKE ‘string'


M.C. Daniel Esparza Soto                        15
Manejo de Cadena de caracteres.

Comodines para el manejo de cadena de
caracteres :
%    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 un
rango en específico.




M.C. Daniel Esparza Soto                  16
Usando multiples criterios de búsqueda

Hasta el momento se han hecho criterios de
selección basados en valores específicos,
rangos, listas , comparación de cadenas y
valores desconocidos, a continuación se usarán
multiples criterios de búsqueda usando los
operadores lógicos AND, OR, and NOT.
Usando los peradores AND and OR podemos
juntar dos o más expresiones.
SELECT column_list
FROM table_list
WHERE [NOT] expression {AND|OR} [NOT]
expression

M.C. Daniel Esparza Soto                     17
Valores desconocidos

Un valor desconocido es cuando el campo tiene
la propiedad NULL y al insertarse valores se
pueden omitir datos para ese campo. No es lo
mismo que espacio en blanco con longitud cero
para tipos de datos char o valores 0 para valores
numéricos.

SELECT column_list
FROM table_list
WHERE column_name IS [NOT] NULL

M.C. Daniel Esparza Soto                        18
Ordenando datos

Se pueden ordenar los datos de resultados
usando la clausula ORDER BY en la sentencia
SELECT.
SELECT column_list
FROM table_list
[ORDER BY nom_columna|num_lista [ASC|DESC]   ]




M.C. Daniel Esparza Soto                         19
Sentencia TOP

Esta sentencia regresa los primeros n elementos
de un conjunto de resultados. Su sintaxis es:

SELECT TOP n lista_Columnas FROM
Nombre_tabla




M.C. Daniel Esparza Soto                      20
Funciones de agregado

Las funciones de agregado puede retornar
valores sumatorios de un tabla completa o de un
grupo de registros de una tabla. Las funciones de
agregado son usadas generalmente con la
cláusula GROUP BY y la cláusula HAVING en el
listado de columnas de la sentencia select.




M.C. Daniel Esparza Soto                        21
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
Cláusula GROUP BY y HAVING

La cláusula GROUP BY agrupa datos que
satisfacen los criterios clásula WHERE para ser
devueltos en una sola fila en un valor de
resumen. La cláusula HAVING establece los
criterios que determinan qué filas devolverá la
cláusula GROUP BY.

SELECT column_list
FROM table_list
WHERE search_criteria
[GROUP BY [ALL] non_aggregate_expression(s)
[HAVING] search_criteria]
M.C. Daniel Esparza Soto                      23
Correlación de datos

La correlación de datos es la combinación para recuperar
datos de dos o más tablas, hasta este momento se han
hecho consultas sobre una sola tabla. Los resultados
aparecerán en una sola tabla con columnas de todas las
tablas especificadas en la lista de columnas de la
sentecia SELECT yque satisfagan el criterio de
búsqueda.

Existen los siguientes tipos de combinaciones (JOIN):
4.Cruzadas (Cross join).
5.Internas (Inner Join).
6.Externas (Outer Join).
7.Autocombinaciones (Self join).

M.C. Daniel Esparza Soto                                24
1.- Combinaciones cruzadas

Es una consulta donde intervienen 2 o mas tablas y tiene
la característica de no contar con condiciones de
combinación, produciendo un conjunto de resultados
donde el numero de columnas es igual a la suma de
columnas de las tablas que intervienen, y el numero de
renglones es igual a la multiplicación de de los renglones
de ambas columnas:

Sintaxis ANSI:
Select * from tabla1 cross join tabla2

Sintaxis Transact-SQL:
Select * from tabla1, tabla2

M.C. Daniel Esparza Soto                                 25
2.- Combinación interna

Las combinaciones conectan dos tablas con
base en una condición de combinación
que da por resultado una nueva tabla con las
filas que satisfacen dicha condición. Las
combinaciones internas ofrecen información
cuando se encuentran en ambas tablas
información equivalente.
Los tipos más comunes son:
1.- Las combinaciones equivalentes
2.- Las combinaciones naturales.

M.C. Daniel Esparza Soto                       26
2.- Combinación interna

SQL Server join sintaxis:
SELECT *
FROM table_name1 T1 , table_name2 T2
Where t1.columnaA = t2.columnaB


ANSI join sintaxis:
SELECT *
FROM table_name1 T1
INNER JOIN table_name2 T2
ON t1.columnaA = t2.columnaB

M.C. Daniel Esparza Soto               27
3.- Combinaciones externas (outer join)

Son combinaciones de dos tablas donde se
muestran todos los registros de una tabla aunque
no exista ningún registro coincidente en la otra
tabla.
La diferencia con una combinación interna es
que en la combinación interna el registro debe
existir en ambas tablas para mostrarse en el
conjunto de resultados, cosa que no sucede con
la combinación externa, ya que esa muestra los
registros aunque no exista un registro
coincidente en la otra tabla.
M.C. Daniel Esparza Soto                       28
3.- Combinación externa ( outer join)

Existen 3 tipos de combinaciones externas:
1.- Left outer join :
Muestra todos los registros de la tabla que se
encuentra a la izquierda de la consulta aunque
no tenga registros en la tabla de la derecha.
2.- Right outer join :
Muestra todos los registros de la tabla que se
encuentra a la derecha de la consulta aunque no
tenga registros en la tabla de la izquierda.
3.- Full outer join :
Muestra todos los registros de ambas tablas
aunque no haya registros que coincidan.
M.C. Daniel Esparza Soto                      29
Subconsultas




M.C. Daniel Esparza Soto   30

Mais conteúdo relacionado

Mais procurados

SQL-DDL
SQL-DDLSQL-DDL
SQL-DDLbdatos
 
CreacióN De Objetos En MySQL
CreacióN De Objetos En MySQLCreacióN De Objetos En MySQL
CreacióN De Objetos En MySQLalexmerono
 
DDL oracle - base de datos
DDL oracle - base de datosDDL oracle - base de datos
DDL oracle - base de datosLuis Bando
 
DDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datosDDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datosvargasaldanajohanna
 
Objeto De Aprendizaje
Objeto De AprendizajeObjeto De Aprendizaje
Objeto De Aprendizajegviera
 
Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizBolivar Castillo
 
Comandos utilizados en sql
Comandos utilizados en sqlComandos utilizados en sql
Comandos utilizados en sqlByron Eras
 
Objeto De Aprendizaje
Objeto De AprendizajeObjeto De Aprendizaje
Objeto De Aprendizajegviera
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos josecuartas
 
Práctica sql server [fbdr]
Práctica sql server [fbdr]Práctica sql server [fbdr]
Práctica sql server [fbdr]TelexFREE
 

Mais procurados (19)

SQL-DDL
SQL-DDLSQL-DDL
SQL-DDL
 
Unidad 6 Lenguaje Sql
Unidad 6 Lenguaje SqlUnidad 6 Lenguaje Sql
Unidad 6 Lenguaje Sql
 
SENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVERSENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVER
 
Introducción a sql server
Introducción a sql serverIntroducción a sql server
Introducción a sql server
 
CreacióN De Objetos En MySQL
CreacióN De Objetos En MySQLCreacióN De Objetos En MySQL
CreacióN De Objetos En MySQL
 
Sql básico - compendio
Sql básico  - compendioSql básico  - compendio
Sql básico - compendio
 
DDL oracle - base de datos
DDL oracle - base de datosDDL oracle - base de datos
DDL oracle - base de datos
 
DDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datosDDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datos
 
Objeto De Aprendizaje
Objeto De AprendizajeObjeto De Aprendizaje
Objeto De Aprendizaje
 
Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-liz
 
Comandos utilizados en sql
Comandos utilizados en sqlComandos utilizados en sql
Comandos utilizados en sql
 
Sql 2010
Sql 2010Sql 2010
Sql 2010
 
Objeto De Aprendizaje
Objeto De AprendizajeObjeto De Aprendizaje
Objeto De Aprendizaje
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
Curso oracle por temas
Curso oracle por temasCurso oracle por temas
Curso oracle por temas
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
 
Consultas en sql básico
Consultas en sql básicoConsultas en sql básico
Consultas en sql básico
 
Sentencias sql
Sentencias sqlSentencias sql
Sentencias sql
 
Práctica sql server [fbdr]
Práctica sql server [fbdr]Práctica sql server [fbdr]
Práctica sql server [fbdr]
 

Destaque

Unidad v integridad relacional
Unidad v  integridad relacionalUnidad v  integridad relacional
Unidad v integridad relacionalOrlando Verdugo
 
Normalizacion base de datos
Normalizacion base de datosNormalizacion base de datos
Normalizacion base de datosGabriela Bartoli
 
Normalizacion de Base de Datos
Normalizacion de Base de DatosNormalizacion de Base de Datos
Normalizacion de Base de DatosErnesto
 
Unidad iii normalizacion
Unidad iii normalizacionUnidad iii normalizacion
Unidad iii normalizacionOrlando Verdugo
 
Actualidad del humanismo empresarial
Actualidad del humanismo empresarialActualidad del humanismo empresarial
Actualidad del humanismo empresarialjuanserret
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de DatosVictor Chavez
 
Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)Ariel Tonatiuh Espindola
 
MODELO ENTIDAD RELACIÓN
MODELO ENTIDAD RELACIÓNMODELO ENTIDAD RELACIÓN
MODELO ENTIDAD RELACIÓNdhmorales
 
Reglas de integridad bd relacional
Reglas de integridad bd relacionalReglas de integridad bd relacional
Reglas de integridad bd relacionalDenisse C
 
Normalización de una base de datos
Normalización de una base de datosNormalización de una base de datos
Normalización de una base de datosReimer Xavier
 
Columns lecture#5
Columns lecture#5Columns lecture#5
Columns lecture#5Irfan Malik
 

Destaque (20)

Unidad ii diseño de bd
Unidad ii diseño de bdUnidad ii diseño de bd
Unidad ii diseño de bd
 
Unidad v integridad relacional
Unidad v  integridad relacionalUnidad v  integridad relacional
Unidad v integridad relacional
 
Unidad iv ddl
Unidad iv ddlUnidad iv ddl
Unidad iv ddl
 
Diapositivas de SOR II
Diapositivas de SOR IIDiapositivas de SOR II
Diapositivas de SOR II
 
Normalizacion base de datos
Normalizacion base de datosNormalizacion base de datos
Normalizacion base de datos
 
Normalizacion de Base de Datos
Normalizacion de Base de DatosNormalizacion de Base de Datos
Normalizacion de Base de Datos
 
Unidad iii normalizacion
Unidad iii normalizacionUnidad iii normalizacion
Unidad iii normalizacion
 
Actualidad del humanismo empresarial
Actualidad del humanismo empresarialActualidad del humanismo empresarial
Actualidad del humanismo empresarial
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)
 
MODELO ENTIDAD RELACIÓN
MODELO ENTIDAD RELACIÓNMODELO ENTIDAD RELACIÓN
MODELO ENTIDAD RELACIÓN
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Reglas de integridad bd relacional
Reglas de integridad bd relacionalReglas de integridad bd relacional
Reglas de integridad bd relacional
 
Normalización de una base de datos
Normalización de una base de datosNormalización de una base de datos
Normalización de una base de datos
 
Examen diagnostico de diseño de bd
Examen diagnostico de diseño de bdExamen diagnostico de diseño de bd
Examen diagnostico de diseño de bd
 
Diapositiva del siaf
Diapositiva del siafDiapositiva del siaf
Diapositiva del siaf
 
TRABAJO DE SIAF
TRABAJO DE SIAFTRABAJO DE SIAF
TRABAJO DE SIAF
 
Guia normalización
Guia normalizaciónGuia normalización
Guia normalización
 
Almacen de datos
Almacen de datosAlmacen de datos
Almacen de datos
 
Columns lecture#5
Columns lecture#5Columns lecture#5
Columns lecture#5
 

Semelhante a Unidad vi vii dml select

Sql basico parte_i_
Sql basico parte_i_Sql basico parte_i_
Sql basico parte_i_Luis Jherry
 
Sql basico parte_i_
Sql basico parte_i_Sql basico parte_i_
Sql basico parte_i_Luis Jherry
 
Cheat_MySQL.docx
Cheat_MySQL.docxCheat_MySQL.docx
Cheat_MySQL.docxdcam4
 
Educación para el desarrollo humano apartar de
Educación para el desarrollo humano apartar deEducación para el desarrollo humano apartar de
Educación para el desarrollo humano apartar dedanie12angie
 
EJERCICIO SENTENCIAS SQL_Completo.pdf
EJERCICIO SENTENCIAS SQL_Completo.pdfEJERCICIO SENTENCIAS SQL_Completo.pdf
EJERCICIO SENTENCIAS SQL_Completo.pdfBLANCAGESTRADARENTER
 
SESION 03 EXCEL APLIC A LA ING.pdf
SESION 03 EXCEL APLIC A LA ING.pdfSESION 03 EXCEL APLIC A LA ING.pdf
SESION 03 EXCEL APLIC A LA ING.pdfAnthonyPeaTimoteo
 
Temas programacion java_2
Temas programacion java_2Temas programacion java_2
Temas programacion java_2Wally IG
 
informacion sobre blog datos y sql
informacion sobre blog datos y sqlinformacion sobre blog datos y sql
informacion sobre blog datos y sqldanie12angie
 
Sql basico parte_ii_
Sql basico parte_ii_Sql basico parte_ii_
Sql basico parte_ii_Luis Jherry
 
Organizacion de los datos jose felix rodriguez 26632429
Organizacion de los datos jose felix rodriguez 26632429Organizacion de los datos jose felix rodriguez 26632429
Organizacion de los datos jose felix rodriguez 26632429JOSEFELIX94
 

Semelhante a Unidad vi vii dml select (20)

Sql
SqlSql
Sql
 
BD cap 5 SQL.pdf
BD cap 5  SQL.pdfBD cap 5  SQL.pdf
BD cap 5 SQL.pdf
 
Sql basico parte_i_
Sql basico parte_i_Sql basico parte_i_
Sql basico parte_i_
 
Sql basico parte_i_
Sql basico parte_i_Sql basico parte_i_
Sql basico parte_i_
 
Tablas y tipos de datos
Tablas y tipos de datosTablas y tipos de datos
Tablas y tipos de datos
 
Funcionesestadisticas
FuncionesestadisticasFuncionesestadisticas
Funcionesestadisticas
 
SQL
SQLSQL
SQL
 
Cheat_MySQL.docx
Cheat_MySQL.docxCheat_MySQL.docx
Cheat_MySQL.docx
 
Educación para el desarrollo humano apartar de
Educación para el desarrollo humano apartar deEducación para el desarrollo humano apartar de
Educación para el desarrollo humano apartar de
 
EJERCICIO SENTENCIAS SQL_Completo.pdf
EJERCICIO SENTENCIAS SQL_Completo.pdfEJERCICIO SENTENCIAS SQL_Completo.pdf
EJERCICIO SENTENCIAS SQL_Completo.pdf
 
Consultas de resumen
Consultas de resumenConsultas de resumen
Consultas de resumen
 
SESION 03 EXCEL APLIC A LA ING.pdf
SESION 03 EXCEL APLIC A LA ING.pdfSESION 03 EXCEL APLIC A LA ING.pdf
SESION 03 EXCEL APLIC A LA ING.pdf
 
Temas programacion java_2
Temas programacion java_2Temas programacion java_2
Temas programacion java_2
 
informacion sobre blog datos y sql
informacion sobre blog datos y sqlinformacion sobre blog datos y sql
informacion sobre blog datos y sql
 
SQL Parte 1.pdf
SQL Parte 1.pdfSQL Parte 1.pdf
SQL Parte 1.pdf
 
SQL Parte 1.pdf
SQL Parte 1.pdfSQL Parte 1.pdf
SQL Parte 1.pdf
 
Tema4
Tema4Tema4
Tema4
 
Sql basico parte_ii_
Sql basico parte_ii_Sql basico parte_ii_
Sql basico parte_ii_
 
Organizacion de los datos jose felix rodriguez 26632429
Organizacion de los datos jose felix rodriguez 26632429Organizacion de los datos jose felix rodriguez 26632429
Organizacion de los datos jose felix rodriguez 26632429
 
Sentencia select
Sentencia selectSentencia select
Sentencia select
 

Mais de Orlando Verdugo

Mais de Orlando Verdugo (6)

Unidad ii diseño de bd
Unidad ii diseño de bdUnidad ii diseño de bd
Unidad ii diseño de bd
 
Unidad i intro a base de datos
Unidad i intro a base de datosUnidad i intro a base de datos
Unidad i intro a base de datos
 
Blogs para ganar_dinero
Blogs para ganar_dineroBlogs para ganar_dinero
Blogs para ganar_dinero
 
Como ganar-dinero-en-linea
Como ganar-dinero-en-lineaComo ganar-dinero-en-linea
Como ganar-dinero-en-linea
 
Ejercicoo matematico
Ejercicoo matematicoEjercicoo matematico
Ejercicoo matematico
 
Ejercicoo matematico
Ejercicoo matematicoEjercicoo matematico
Ejercicoo matematico
 

Unidad vi vii dml select

  • 1. 4.- Sentencia SELECT simple Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta en forma de conjunto de registros que se pueden almacenar en un objeto recordset. Hay tres componentes básicos : SELECT column_list FROM table_list [WHERE search_criteria] M.C. Daniel Esparza Soto 1
  • 2. 4.- Sentencia SELECT SELECT [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. 4.- Sentencia SELECT Ejemplo básico: con el comodín * muestra todas las columnas de una tabla: SELECT * FROM employee Se pueden listar algunas columnas de la tabla: SELECT employeeid , firstname FROM employee M.C. Daniel Esparza Soto 3
  • 4. Cambiando el encabezado de las columnas de resultados Se pueden utilizar alias en los nombres de columnas para que sean los nombres mas familiares. SELECT column_heading = column_name FROM table_name o SELECT column_name [AS] column_heading FROM table_name Ejemplo: SELECT Clave = employeeid , firstname as Nombre FROM employee M.C. Daniel Esparza Soto 4
  • 5. Operadores aritméticos Se pueden usar operadores aritméticos en los siguientes 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. Funciones Existen los siguientes tipos de funciones: 1.- Funciones matemáticas. 2.- Funciones para manejo de cadena de caracteres. 3.- Funciones manejo de fechas. Su sintaxis es: SELECT Nombrefuncion(parametros) M.C. Daniel Esparza Soto 6
  • 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. 2.- Funciones de manejo de cadena de caracteres +(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. 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. 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-9999 M.C. Daniel Esparza Soto 10
  • 11. Operadores de comparación Se pueden implementar condiciones de búsqueda utilizando los siguientes operadores de comparación. Se pueden seleccionar renglones comparando los valores de una columna contra un valor o una expresión. Las expresiones pueden contener constantes, nombres de columnas, funciones o subconsultas. SELECT column_list FROM table_list WHERE nombre_columna OperadorComparacion expression M.C. Daniel Esparza Soto 11
  • 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 precedencia M.C. Daniel Esparza Soto 12
  • 13. Rangos Se pueden obtener renglones en un rango de valores usando la palabra reservada BETWEEN. Se recomienda su uso para tipos de datos numéricos y de fecha. SELECT column_list FROM table_list WHERE nombre_columna [NOT] BETWEEN expression AND expression M.C. Daniel Esparza Soto 13
  • 14. Lista Se pueden obtener registros que coincidan en una lista de valores usando la instrucción IN. Se recomienda para cualquier tipo de datos. SELECT column_list FROM table_list WHERE [NOT] nombre_columna[NOT] IN (Lista_Valores) M.C. Daniel Esparza Soto 14
  • 15. Manejo de Cadena de caracteres. Se pueden obtener registros basados en una porción de una cadena de carateres usando la palabra reservada LIKE. Es utilizada en los tipos de datos char, varchar, text, datetime, and smalldatetime. Se pueden utilizar caracteres comodines para formar una expresión regular. SELECT column_list FROM table_list WHERE nombre_columna[NOT] LIKE ‘string' M.C. Daniel Esparza Soto 15
  • 16. Manejo de Cadena de caracteres. Comodines para el manejo de cadena de caracteres : % 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 un rango en específico. M.C. Daniel Esparza Soto 16
  • 17. Usando multiples criterios de búsqueda Hasta el momento se han hecho criterios de selección basados en valores específicos, rangos, listas , comparación de cadenas y valores desconocidos, a continuación se usarán multiples criterios de búsqueda usando los operadores lógicos AND, OR, and NOT. Usando los peradores AND and OR podemos juntar dos o más expresiones. SELECT column_list FROM table_list WHERE [NOT] expression {AND|OR} [NOT] expression M.C. Daniel Esparza Soto 17
  • 18. Valores desconocidos Un valor desconocido es cuando el campo tiene la propiedad NULL y al insertarse valores se pueden omitir datos para ese campo. No es lo mismo que espacio en blanco con longitud cero para tipos de datos char o valores 0 para valores numéricos. SELECT column_list FROM table_list WHERE column_name IS [NOT] NULL M.C. Daniel Esparza Soto 18
  • 19. Ordenando datos Se pueden ordenar los datos de resultados usando la clausula ORDER BY en la sentencia SELECT. SELECT column_list FROM table_list [ORDER BY nom_columna|num_lista [ASC|DESC] ] M.C. Daniel Esparza Soto 19
  • 20. Sentencia TOP Esta sentencia regresa los primeros n elementos de un conjunto de resultados. Su sintaxis es: SELECT TOP n lista_Columnas FROM Nombre_tabla M.C. Daniel Esparza Soto 20
  • 21. Funciones de agregado Las funciones de agregado puede retornar valores sumatorios de un tabla completa o de un grupo de registros de una tabla. Las funciones de agregado son usadas generalmente con la cláusula GROUP BY y la cláusula HAVING en el listado de columnas de la sentencia select. M.C. Daniel Esparza Soto 21
  • 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. Cláusula GROUP BY y HAVING La cláusula GROUP BY agrupa datos que satisfacen los criterios clásula WHERE para ser devueltos en una sola fila en un valor de resumen. La cláusula HAVING establece los criterios que determinan qué filas devolverá la cláusula GROUP BY. SELECT column_list FROM table_list WHERE search_criteria [GROUP BY [ALL] non_aggregate_expression(s) [HAVING] search_criteria] M.C. Daniel Esparza Soto 23
  • 24. Correlación de datos La correlación de datos es la combinación para recuperar datos de dos o más tablas, hasta este momento se han hecho consultas sobre una sola tabla. Los resultados aparecerán en una sola tabla con columnas de todas las tablas especificadas en la lista de columnas de la sentecia SELECT yque satisfagan el criterio de búsqueda. Existen los siguientes tipos de combinaciones (JOIN): 4.Cruzadas (Cross join). 5.Internas (Inner Join). 6.Externas (Outer Join). 7.Autocombinaciones (Self join). M.C. Daniel Esparza Soto 24
  • 25. 1.- Combinaciones cruzadas Es una consulta donde intervienen 2 o mas tablas y tiene la característica de no contar con condiciones de combinación, produciendo un conjunto de resultados donde el numero de columnas es igual a la suma de columnas de las tablas que intervienen, y el numero de renglones es igual a la multiplicación de de los renglones de ambas columnas: Sintaxis ANSI: Select * from tabla1 cross join tabla2 Sintaxis Transact-SQL: Select * from tabla1, tabla2 M.C. Daniel Esparza Soto 25
  • 26. 2.- Combinación interna Las combinaciones conectan dos tablas con base en una condición de combinación que da por resultado una nueva tabla con las filas que satisfacen dicha condición. Las combinaciones internas ofrecen información cuando se encuentran en ambas tablas información equivalente. Los tipos más comunes son: 1.- Las combinaciones equivalentes 2.- Las combinaciones naturales. M.C. Daniel Esparza Soto 26
  • 27. 2.- Combinación interna SQL Server join sintaxis: SELECT * FROM table_name1 T1 , table_name2 T2 Where t1.columnaA = t2.columnaB ANSI join sintaxis: SELECT * FROM table_name1 T1 INNER JOIN table_name2 T2 ON t1.columnaA = t2.columnaB M.C. Daniel Esparza Soto 27
  • 28. 3.- Combinaciones externas (outer join) Son combinaciones de dos tablas donde se muestran todos los registros de una tabla aunque no exista ningún registro coincidente en la otra tabla. La diferencia con una combinación interna es que en la combinación interna el registro debe existir en ambas tablas para mostrarse en el conjunto de resultados, cosa que no sucede con la combinación externa, ya que esa muestra los registros aunque no exista un registro coincidente en la otra tabla. M.C. Daniel Esparza Soto 28
  • 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 se encuentra a la izquierda de la consulta aunque no tenga registros en la tabla de la derecha. 2.- Right outer join : Muestra todos los registros de la tabla que se encuentra a la derecha de la consulta aunque no tenga registros en la tabla de la izquierda. 3.- Full outer join : Muestra todos los registros de ambas tablas aunque no haya registros que coincidan. M.C. Daniel Esparza Soto 29