Uso de Unión para combinar conjuntos de resultados

Mar, 16/01/2018 - 15:39 -- jsequeiros

A menudo tendrá dos instrucciones SELECT que pueden necesitar combinarse en un resultado para el consumo de una aplicación o usuario final. Con la palabra clave UNION, puede lograr eso.
UNION tiene dos variaciones:

  • Solo UNION, que elimina las filas duplicadas en su conjunto de resultados.
  • UNION ALL, que incluye duplicados. Si los duplicados son posibles, debe usar UNION ALL; es mucho más rápido porque no tiene que incluir DISTINCT.

El siguiente pseudocódigo ilustra el uso de UNION:

SELECT column1, column2 FROM TABLE1
UNION
SELECT column1, column2 FROM TABLE2

Al escribir una consulta con UNION, ambas declaraciones SELECT deben contener el mismo número de columnas, y los tipos de datos deben coincidir para cada columna. Cuando utilice UNION, proporcione solo una cláusula ORDER BY después de la última instrucción SELECT.

Limitación de los datos devueltos en el conjunto de resultados

Mar, 16/01/2018 - 14:47 -- jsequeiros

Además de utilizar una cláusula WHERE en la consulta, tiene varias otras formas de limitar los datos devueltos en el conjunto de resultados. Si bien existe una larga lista de métodos y técnicas que puede utilizar, SQL Server ofrece palabras clave que proporcionan un enfoque muy simplista para limitar el conjunto de resultados.

Uso de Top

La palabra clave TOP limita el número de filas que se devuelven en un resultado a un número específico de filas o a un porcentaje específico de filas. La parte superior debe usarse siempre con la cláusula ORDER BY. En la mayoría de los casos, buscará el conjunto de valores más alto o más bajo para una columna dada, y la ordenación de los datos le proporcionará esa información. Por ejemplo, si desea devolver las cinco ventas principales de su tabla de ventas, añada TOP (5) inmediatamente después de la palabra clave SELECT. Además, se incluye una cláusula ORDER BY especificando la columna que contenía el valor de ventas real para cada fila como la columna de pedido.

La sintaxis JOIN SQL Server

Dom, 14/01/2018 - 21:59 -- jsequeiros

Independientemente de si está escribiendo una unión INNER o una unión OUTER, comienza con una instrucción SELECT básica.  Utilizará la siguiente consulta como punto de partida:

USE AdventureWorks2012;
SELECT
p.FirstName,
p.LastName
FROM Person.Person p

La tabla en la cláusula FROM debe incluir una columna con los valores que existen en la tabla que planea unir.  En este caso, le gustaría incluir una dirección de correo electrónico en el conjunto de resultados.  Para lograr esto, debe hacer referencia a una segunda tabla en la consulta, como se ilustra en la siguiente consulta:

Uso de INNER JOIN en SQL

Vie, 12/01/2018 - 22:22 -- jsequeiros

De los tres operadores de JOIN más comúnmente utilizados, INNER JOIN es el que se utilizará con regularidad.  INNER JOIN es una coincidencia de igualdad entre dos o más tablas.  Por ejemplo, supongamos que tiene una tabla que contiene productos (Product) y otra que contiene ventas (Sales), y desea encontrar solo los productos que se han vendido.  Básicamente, estás buscando la intersección de las dos tablas con algún valor.  La siguiente figura ilustra la intersección.

Uso de INNER JOIN en SQL Server

Alias ​​de una tabla y columna

Jue, 11/01/2018 - 21:39 -- jsequeiros

Se puede crear alias, que pueden ser un nombre más breve o más comprensible, para nombres de tablas y columnas, lo que facilita el trabajo con agregaciones, expresiones y consultas que involucran varias tablas.  Además, la base de datos puede contener nombres de columnas muy crípticos, y es posible proporcionar nombres que sean más significativos para las aplicaciones y los usuarios finales.  Usar alias permite cambiar el nombre o acortar los nombres de tablas y columnas.

Crear alias de una tabla y columna

1. Abra el editor de consultas en SSMS.

2. En el editor de consultas, ingrese y ejecute el siguiente código T-SQL:

-- Utilice esta consulta para alias de  una tabla y columna
  USE  AdventureWorks2012;
  SELECT
  DepartmentID,
  Name  AS DepartmentName,
  GroupName  AS DepartmentGroupName
  FROM  HumanResources.Department AS d

Búsqueda con caracteres comodín

Mié, 10/01/2018 - 21:12 -- jsequeiros

La variación final de la cláusula WHERE cubierta aquí es la búsqueda de comodines. Por ejemplo, supongamos que desea devolver todos los departamentos de su organización que comienzan con las letras PR.  Para hacer esto, usa una comparación LIKE. Cuando utiliza LIKE, SQL Server puede determinar si un carácter o cadena de caracteres especificados coincide con un valor en su base de datos.

Uso la cláusula LIKE

1. Abra el editor de consultas en SSMS.
2. En el editor de consultas, ingrese y ejecute el siguiente código T-SQL:

--Utilice esta consulta para filtrar los resultados usando  LIKE
  USE  AdventureWorks2012;
  SELECT  *
  FROM  HumanResources.Department
  WHERE
  Name LIKE 'Pr%'

Buscando una lista de valores

Mar, 09/01/2018 - 16:41 -- jsequeiros

Otro escenario típico implica recuperar un conjunto de resultados basado en una lista de valores. Por ejemplo, es posible que se desea recuperar todas las ventas para una lista particular de productos. Al usar el operador IN, SQL Server determina si los elementos en una lista especificada coinciden con el valor especificado.

Uso del operador IN

1. Abra el editor de consultas en SSMS.
2. En el editor de consultas, ingrese y ejecute el siguiente código T-SQL:

--Utilice esta consulta para filtrar los resultados con el operador IN
USE AdventureWorks2012;
SELECT
SalesOrderDetailID,
OrderQty,
ProductID,
ModifiedDate
FROM Sales.SalesOrderDetail s
WHERE
ProductID IN (776, 778, 747, 809)

Cláusula WHERE con múltiples condiciones

Lun, 08/01/2018 - 22:10 -- jsequeiros

A veces puede necesitar especificar múltiples filtros en una declaración. Por ejemplo, quizás desee encontrar ventas en un cierto rango de fechas, pero también solo para un producto específico. En ese caso, puede usar el operador AND u OR para combinar ambos filtros.

Escribir una cláusula WHERE con múltiples condiciones

1. Abra el editor de consultas en SSMS.

2. En el editor de consultas, ingrese y ejecute el siguiente código T-SQL:

-- Utilice esta consulta para filtrar los resultados con múltiples condiciones
USE AdventureWorks2012;
SELECT
SalesOrderDetailID,
OrderQty,
ProductID,
ModifiedDate
FROM Sales.SalesOrderDetail s
WHERE
ModifiedDate BETWEEN '2007/1/5' AND '2007/31/12' AND
ProductID = 809

Operador BETWEEN en SQL Server

Dom, 07/01/2018 - 21:33 -- jsequeiros

En algunos casos, es posible que se desea buscar datos para un rango secuencial de datos. Por ejemplo, es posible que desee devolver todas las ventas desde el 1 de mayo de 2007 hasta el 12 de diciembre de 2007.  Se puede usar algunas de las operaciones de comparación, pero SQL Server ofrece una solución más elegante:  el operador BETWEEN.

Uso el operador BETWEEN

1. Abra el editor de consultas en SSMS.

2. En el editor de consultas, ingrese y ejecute el siguiente código T-SQL:

--Utilice esta consulta para filtrar los resultados de una consulta utilizando el operador BETWEEN
USE AdventureWorks2012;
SELECT
AccountNumber,
SalesOrderID,
OrderDate
FROM
Sales.SalesOrderHeader
WHERE
OrderDate BETWEEN '2007/1/5' AND '2007/31/12'

Uso de los operadores de comparación en SQL Server

Sáb, 06/01/2018 - 22:31 -- jsequeiros

SQL Server ofrece varios operadores de comparación, como = (igual), < (menor que),> (mayor que) y> = (mayor o igual que), entre otros.  Asociar estos operadores con la cláusula WHERE puede ayudarlo a limitar los datos de varias maneras.

Uso del operador de igualdad

1. Abra el editor de consultas en SSMS.

2. En el editor de consultas, ingrese y ejecute el siguiente código T-SQL:

--Utilice esta consulta para filtrar datos utilizando el  operador de igualdad
  USE AdventureWorks2012;
  SELECT *
  FROM [HumanResources].[Department]
  WHERE DepartmentID = 4

Páginas

Suscribirse a Ejercicios de Excel, Word, Power Point, 2007, 2010, 2013 RSS