Blog de Jesús Sequeiros

Para aprender SQL Server, Excel, Word, Acces y más...

SQL Server

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

Filtrar datos con la cláusula WHERE en SQL Server

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

Hasta ahora, simplemente devolvió todas las filas en una tabla.  En el mundo real, probablemente esto no sea lo que harás; la mayoría de las veces, necesitarás devolver solo subconjuntos de datos.  Por ejemplo, suponga que desea escribir una consulta que busque un departamento específico o todos los departamentos que comiencen con la letra P.  Para lograr esto, incluirá la cláusula WHERE como parte de su instrucción SELECT.  La cláusula WHERE siempre sigue a la instrucción FROM y precede a la cláusula ORDER BY.  Existen varias implementaciones diferentes de la cláusula de consult

Páginas

Suscribirse a SQL Server