Select – Teoría

Instrucción Select

Permite la visualización de la información contenidas en las tablas o vistas de la base de datos

Sintaxis

La forma de usar la instrucción select es compleja, un resumen de las opciones se muestra en las líneas a continuación, es necesario anotar que se pueden combinar las opciones. Continue reading

Select – Uso de Alias

Uso de Alias para Tablas y Campos en Select

Los alias para los campos o para la tabla son nombres asignados que aparecen en la ejecución de la consulta. Los nombres en la base de datos no cambian. Los alias pueden ser usados en el ordenamiento de los registros que forman el grupo de resultado de la consulta.(Ver Ordenamientos) En consultas donde se extrae la información desde varias tablas es necesario usar alias para las tablas y los campos para evitar ambigüedades lo que hace que la consulta reporte error. (Ver Joins) Continue reading

Order by en SQL Server

Como usar Order by en SQL Server

En muchas ocasiones se requiere listar los registros en un determinado orden, para esto se debe utilizar de manera correcta la cláusula Order by de Select.

Ordenamientos

  • La Cláusula Order By, debe ir al final de la instrucción.
  • Se puede usar el nombre de campo, el alías o el número de orden del campo
  • Se puede usar Desc y Asc (por defecto), se puede ordenar por varios campos
  • Es posible usar un campo que no aparece en la lista de campos como el campo de ordenamiento. Continue reading

Consultas de varias tablas – Usando Join

Select desde varias tablas – Uso de Joins

Para escribir consultas cuyos datos que se desea mostrar se encuentran en varias tablas es necesario que estas estén CORRECTAMENTE relacionadas, antes de hacer las consultas desde varias tablas se deben evitar y corregir los valores Null en la base de datos.

Para optimizar las columnas desde varias tablas se recomienda usar  Join de la manera como se muestran en los ejercicios. Siempre hay una tabla desde donde se va a listar los registros y otras desde donde se van a extraer valores para completar el listado con datos que la hacen mas detallada.

Continue reading

Consultas – Opciones

Opciones en un Listado con Select

Las opciones de un listado con la instrucción select permiten modificar el conjunto de resultados, las opciones son cláusulas adicionales que nos permiten reducir la cantidad de registros en el listado, mostrar registros únicos, obligar al optimizar a usar un  índice, combinar dos instrucciones, entre otras opciones.

Las opciones son:

Opción Explicación
Top Limita las filas del conjunto de resultados. Se puede usar con un valor n o especificar un porcentaje.
With Ties Permite mostrar registros que hayan sido limitados usando la opción Top pero que tienen un valor igual al último registro que aparece.
Distinct Permite mostrar valores sin duplicados en una consulta.
With (index…) Obliga al optimizador a usar un índice específico.
Union Permite unir diferentes consultas en un solo conjunto de resultados.
Into Tabla Permite crear una tabla con el conjunto de resultados.
Offset y Fetch Next Permiten listar un grupo de resultados que aparecen ordenados pero sin incluir los primeros.

Continue reading

Uso de With Ties en Consultas – Select

With Ties en Select

  • La opción With Ties en una instrucción select se utiliza cuando se usa la cláusula Top n [Percent]. (Ver Opciones de Select)
  • El uso de With ties en el listado permite mostrar los registros que tienen los mismos valores que el último mostrado de acuerdo a la cantidad mostrada por Top n o Top n Percent.
  • El uso de Top debe ir acompañado con la cláusula Order By. (Ver Ordenamientos)

Continue reading

Uso de Group By en SQL Server

Como usar Group by en SQL Server

Los agrupamientos en SQL Server se utilizan cuando en un listado existen funciones de agregado en algunos campos con campos que no las tienen.

Generalmente los agrupamientos se utilizan para mostrar resultados estadísticos con datos de varias tablas (Ver Joins). También en muchas ocasiones se puede hacer el listado usando Subconsultas. Puede usar el Plan de ejecución para analizar cual de las opciones es la mejor según el diseño de las tablas utilizadas. Continue reading

Esquemas – Crear – Modificar – Eliminar

Esquemas en SQL Server

Los esquemas en SQL Server permiten organizar los elementos asegurables como tablas, vistas, procedimientos almacenados, etc y poder administrar mejor los permisos sobre estos. (Ver Permisos con Grant)

En una base de datos se pueden incluir los elementos de varios módulos que se desarrollen en una organización, por ejemplo, el módulo de Ventas, el de Planilla, el módulo de Contabilidad, etc y es obvio que la mayor parte de asegurables de cada uno de los módulos no son compartidos, es decir, el que tiene permisos para ver los asegurables del esquema de Ventas no tiene acceso a los de Contabilidad, eso es posible usando permisos y los asegurables en Esquemas. Continue reading

Create Table – Teoría

Creación de Tablas 

La información guardada en la base de datos se almacena en tablas, estas deben partir de un diseño de base de datos previo. Las tablas son el resultado de un proceso de diseño detallado que incluye reglas de normalización y criterios propios del diseñador y requisitos del sistema.

Las tablas en una base de datos deberían de alguna forma estar todas relacionadas, es recomendable usar tipos de datos similares y antes del diseño de las tablas, es muy útil crear tipos de datos definidos por el usuario para estandarizar el diseño. (Ver tipos de datos definidos por el usuario)

Continue reading

Tablas – Create table Ejercicios

Creación de tablas

Al crear las tablas se deberían seguir ciertas reglas para el nombre de los elementos de estas, como son: campos, restricciones, índices, entre otros.Al definir los tipos de datos para cada campo se recomienda lo siguiente: Continue reading

Tablas – Datos XML

Uso de datos XML en tablas en SQL Server

Es posible incluir en un campo de una tabla datos en formato XML (eXtensible Markup Language), el tipo de datos XML permite almacenar datos que dependan del registro en la misma tabla y posiblemente evitar diseñar un maestro – detalle. Continue reading

Uso de Cube y Rollup

Como hacer agrupamientos incluyendo Subtotales en SQL Server

Como usar Cube o Rollup

Los operadores Cube y Rollup son extensiones de la cláusula Group By (Ver Agrupamientos), permiten calcular subtotales de acuerdo a las agrupaciones especificadas en la consulta.

Importante:
Para que las opciones funcionen, el nivel de compatibilidad debe ser al menos 100,  correspondiente a SQL Server 2008. (Ver Niveles de compatibilidad) Continue reading

Subconsultas

Subconsultas

Una subconsulta es una consulta anidada en un SELECT, INSERT,  UPDATE o DELETE e inclusive en otra subconsulta.  Las subconsultas se pueden utilizar en cualquier parte en la que se permita una expresión. Las subconsultas deben seguir ciertas reglas que se mencionan al final del post. Es necesario conocer la estructura de la base de datos para poder relacionar las tablas correctamente y lograr los resultados esperados. Los resultados obtenidos con subconsultas se pueden también obtener con el uso de Joins. Continue reading

Subconsultas – Casos prácticos

Subconsultas – ejercicios

Las subconsultas permiten extraer información que incluyen varias tablas, estas generalmente reportan un solo dato a un conjunto de resultados con una columna. Para la parte teórica completa y las condiciones y restricciones ver Subconsultas.

En este artículo veremos como desarrollar ejemplos analizando los datos y armando por pasos la subconsulta. Continue reading

Subconsultas – Casos prácticos 2

Subconsultas – Casos prácticos 2

Las subconsultas se explicaron en un post previo (Ver Subconsultas), este post presenta ejercicios algo más complejos, además de realizar el análisis los costos de ejecución usando el Plan de ejecución. Continue reading

Tipos de datos definidos por el usuario

Tipos de datos definidos por el usuario

SQL Server permite crear tipos de datos que el usuario puede definir en base a los tipos de datos de SQL Server.

La creación de tipos de datos definidos por el usuario va a permitir el uso de los datos nativos de SQL Server de manera mas fácil, por ejemplo, para datos de tipo caracter que tengan una longitud variable entre 2 a 80 caracteres, se pueden definir un tipo de datos con una longitud de 100 para que alcance cualquier texto que pase los 80 caracteres y ponerle un nombre de fácil recuerdo como Texto100.  Continue reading

Subconsultas – Casos prácticos 3

Subconsultas – Casos prácticos 3

Las subconsultas se explicaron en un post previo (Ver Subconsultas), este post presenta ejercicios algo más complejos, además de realizar el análisis los costos de ejecución usando el Plan de ejecución. Continue reading

Tipos de datos definidos por el usuario – ejercicio

Tipos de datos definidos por el usuario

Los tipos de datos definidos por el usuario permiten facilitar la estandarización de los tipos de las columnas en un diseño de base de datos.
En este ejemplo se crea una base de datos para luego crear un diseño con una Factura, los productos y el Detalle de la factura. Continue reading

Subconsultas como tabla derivada

Subconsultas como tabla derivada

  • Las subconsultas como tabla derivada son instrucciones select que sirven como conjunto de resultados desde donde se realiza una instrucción select externa.
  • Para entender mejor debemos recordar que en una subconsulta podemos reconocer como mínimo dos instrucciones Select, una consulta externa que dentro de ella tiene una o mas instrucciones select que son las consultas internas. (Ver Subconsultas)

Continue reading

Tablas – Claves Foráneas y Campos Calculados

Creación de Tablas relacionadas usando Foreign Keys en SQL Server

Las tablas en la base de datos están relacionadas entre sí a través de la clave primaria de una tabla y esta se convierte en clave foránea en la tabla con la que se relaciona.

Los campos calculados en las tablas permiten almacenar los datos que se calculan en base a los campos de la misma tabla, es recomendable en casos donde las consultas pueden resultar muy pesadas.

Al insertar los registros, los campos calculados no se debe incluir en la instrucción, estos se calculan de manera automática. Continue reading