Funciones integradas en #sqlserver

Vamos con un tema teórico y después veremos con una serie de prácticas sencillas como utilizarlas.

SQL Server proporciona numerosas funciones integradas y permite crear funciones definidas por el usuario.

Puede ser este tipo de funciones: 

Funciones escalares

Conficuracion

Conversion

Fechas y horas

etc…etc…

Funciones agregadas

SUM

COUNT

MAX

MIN

etc…etc….

Funciones Windows

RANK

OVER

etc….etc…

Conjunto de filas

OPENDATASOURCE

OPENQUERY

OPENROWSET

OPENXML.

etc….etc….

Vamos a ir viendolas poco a poco ….

1374.format.png-550x0

ORDER BY con OFFSET‐FETCH en #sqlserver

Ya hemos visto como funciona la clausula ORDER BY.

OFFSET‐FETCH es muy parecida a TOP.  La diferencia esta en que la primera puedes poner un registro de inicio y de ahi, especificar el numero de filas que quieres que te devuelva.

Vamos con una ejemplo simple:

Captura

Este ejemplo se situará en la décima fila y te listara las siguientes 10.

Captura

Nos sitúa al principio del fichero y lista los primeros 5 registros

OFFSET‐FETCH se utiliza para paginación de resultados.

Ya sabéis que estoy en facebook:

https://www.facebook.com/groups/juankartips/

y twitter:

https://twitter.com/_Juankar_

El script perteneciente a este artículo: http://1drv.ms/1BohSDV

Otras formas de utilizar TOP en #sqlserver

Ya vimos como funcionaba de una forma muy básica

Top

TOP nos permitirá especificar un número de filas a devolver, ya sea  un número  o  un porcentaje de todas las filas.

Captura

En la tabla Sales.Orders tiene 830 pedidos, la consulta nos devolverá 83 filas.

Si le añadimos la opcion WITH TIES devolverá las filas que ocupan el último lugar en el conjunto de resultados. Es decir, se incluyen en el resultado todos los registros que tienen  el mismo valor al último registro.

Captura

Como se ve en la segunda consulta se agregan 3 registros mas.

TOP…WITH TIES solo se puede especificar en instrucciones SELECT y siempre que se haya especificado una cláusula ORDER BY.

Y como siempre aquí os dejo el script.

http://1drv.ms/1G96cLV

La potencia de Where en #sqlserver

Ya hemos visto otras formas de utilizar where

Distintas formas de utilizar la clausula Where

Pero tambien podemos combinar con lo siguiente:

* IN Determina si un valor especificado coincide con cualquier valor en una consulta o  lista.

* BETWEEN Especifica un rango

*LIKE Determina si una cadena de caracteres específica coincide con un patrón.

*AND

*OR

*NOT

Ahora toca poner un ejemplo de cada … al turrón

Captura

Como podemos observar las 2 consultas dan el mismo resultado. Queremos consultar lo que pertenece a UK y Spain.

Como ya he dicho en otras veces se pueden hacer la misma consulta de varias formas.

Captura

Aquí os dejo los scripts

http://1drv.ms/19g97VK

Como podemos ver nos da unas cuantas posibilidades la clausula WHERE y mucha potencia en cuanto a la busqueda y consultas.

Otra forma de utilizar CASE

Vamos a ver  otra forma de utilizarlo.

Vamos añadir una nueva columna llamada iscampaign.

Esta columna mostrará la descripción “Productos en campaña” para las categorías 1,7 y 8 y la descripción “Sin Campaña” para las demás.

Nos quedaría así

Captura

Por ejemplo lo podemos utilizar para las ofertas del super.

El WHEN …THEN ….ELSE  es una instruccion que comparamos una condiciñon de entrada y si es cierta nos dara el tema de THEN y si es falsa …la del ELSE.

El script respectivo

http://1drv.ms/1C18Yj7

Utilizando CASE con SELECT en #sqlserver

A veces cuando se escribe una consulta, es necesario sustituir un valor de una columna  por otro.

En T-SQL, las expresiones CASE devuelven un solo valor.  Por ejemplo, una expresión CASE puede ser utilizado para proporcionar un  texto cuando el valor almacenado es numérico.

Tenemos la siguiente tabla

Captura

Y ahora vamos a cambiar el categoryid según esta otra tabla Esto no es un JOIN.

CapturaY nos saldrá

CapturaSencillo …. estamos con la certificación 70-461 aun y queda mucho. Espero que os guste los ejemplos y la explicación.

Aqui os dejo el  script

http://1drv.ms/1CbsYkw

 

Jugar con los Alias en Columnas y Tablas

Un alias es nombrar una columna o tabla con otro nombre para una mejor identificación.

Por ejemplo una forma de ver  el resultado de una consulta es cambiar los encabezados de las columnas con AS o simplemente dejando un espacio.

Vamos con la practica

Captura

Vamos a cambiar los enunciados de las columnas

Captura

Otra forma de hacerlo

Captura

Los alias también se pueden utilizar en la cláusula FROM para referirse a una tabla.

Captura

Así de sencillo … Ya sabeis que podeis compartir estos artículos

Y  aquí  los scripts utilizados

http://1drv.ms/1xMr4Bm

Y como no, podeis pasaros por el grupo de facebook.

https://www.facebook.com/groups/juankartips/