jueves, 19 de septiembre de 2013

Consultas complejas en SQL server a través de diseño

Normalmente para crear una consulta solemos escribirla directamente en el Query Analycer de SQL SERVER, pero si se trata de una query compleja, con diversas tablas y JOIN, nuestra SELECT se puede complicar bastante y nos puede hacer perder mucho tiempo.

Para facilitar el trabajo, crear la query de una forma mucho más rápida  y evitar errores de sintaxis, existe una forma muy fácil de escribir querys muy complejas.Sobre el Object Explorer de SQL SERVER, abrimos las vistas y sobre una vista cualquiera, pulsamos el botón derecho del ratón y elegimos modo diseño:

Consultas complejas en SQL server a través de diseño

Hecho esto nos aparece en la pantalla, el diseño de la vista elegida.

Consultas complejas en SQL server a través de diseño

Cada botón de la barra superior, permite ocultar-mostrar un tipo de vista: Esquemática, de Campos, Query de SQL y finalmente muestra de resultados.

Si queremos hacer nuestra propia query compleja podemos usar dichas pantallas para añadir las tablas necesarias en la parte esquemática (la del botón)

Posicionados sobre esta parte de la pantalla, pulsamos botón derecho del ratón y  pulsamos Add Table). Por supuesto como estamos sobre una vista existente lo más normal es que eliminemos las tablas de esa vista, con mucho cuidado de ponerle un nombre nuevo para no modificar la vista existente.

Consultas complejas en SQL server a través de diseño

Elegimos las tablas que necesitemos de la lista y pulsamos Add

Añadir tabla a consulta Sql server

Con lo que las tablas quedan añadidas en modo esquemático

Relaciones entre tablas SQL Server

Sobre el esquema podemos elegir los campos a mostrar de cada tabla pulsando sobre ellos y las relaciones entre los campos arrastrando y soltando los campos que queremos que se relacionen.

Relaciones entre tablas SQL Server

También podremos verificar los campos a mostrar en la pantalla de tipo  

tablas SQL Server
En dicha pantalla podemos escribir directamente el tipo de ordenación deseado

ordenar tablas SQL Server

O las funciones OR y AND

Funciones OR y AND SQL Server

Como ya se ha dicho más arriba, podemos crear nuevas relaciones entre campos de tablas diferentes arrastrando y soltando el ratón entre sendos campos elegidos en cada tabla.

Relaciones SQL Server
Posicionados sobre cualquier relación, con el botón derecho del ratón podemos eliminarla (remove) o elegir el tipo de relación:

Eliminar relaciones SQL Server

Esto nos permitirá crear relaciones sencillas INNER JOIN, o bien en las que prevalezca una de las tablas LEFT OUTER JOIN o RIGHT OUTER JOIN o bien relaciones completas FULL OUTER JOIN.

Elegidas todas las relaciones necesarias y sus tipos, podemos consultar la query generada en el la parte de la pantalla del botón  Botón Query SQL Server


Plan de ejecución textual de SQL server

Para comprobar si las relaciones,  los JOINS y las condiciones WHERE generadas son correctas, basta con pulsar el botón ejecutar  Botón ejecutar SQL Server y en la pantalla de resultados podemos comprobar si estos son los correctos o hay que realizar algún ajuste


Resultado consulta SQL Server

Finalmente, comprobamos que todo es correcto, disponemos de la query por compleja que sea si pulsamos sobrel en botón 



Con lo que podremos copiarla y pegarla donde la necesitemos o incluso almacenarla como una vista pulsando el botón grabar.

Botón grabar consulta SQL Server


No hay comentarios:

Publicar un comentario