Consultas – Filtrado de registros

Consultas – filtrado de registros

Filtrar un conjunto de resultados permite listar los registros que cumplan con una o mas condicionesLos Filtros pueden ser especificados en campos de la tabla dentro de la cláusula Where, y en listados con campos que tienen funciones de agregado en la cláusula Having.
Para las expresiones lógicas se utilizar los operadores de comparación y los operadores propios de SQL. (Ver Operadores en SQL)

Ejemplos

Los filtros con el operador Having se pueden encontrar en Consultas con Agrupamientos y Funciones de agregado.

— Usando Northwind
use Northwind
go

— Listas los productos con stock igual a CERO
select * from Products where UnitsInStock = 0
go

— Listar los clientes que son de las ciudades de Madrid, Barcelona y Sao Paulo
select * from Customers
where City = ‘Madrid’ or City = ‘Barcelona’ or City = ‘Sao Paulo’
go
— También se puede usar el operador In
select * from Customers
where City in (‘Madrid’,’Barcelona’,’Sao Paulo’)
go

— Listar los productos con precios entre 20 y 40
select * from Products where UnitPrice >= 20 and UnitPrice <= 40
go
— También se puede usar el operador Between
select * from Products where UnitPrice between 20 and 40
go

— Listar los empleados con 25 años o mas en el trabajo
select E.EmployeeID As ‘Código’, E.LastName as ‘Apellido’,
E.FirstName As ‘Nombre’ , Años = DATEDIFF(yy, HireDate, GetDate())
from Employees As E where DATEDIFF(yy, HireDate, GetDate()) >= 25
go

— Listar los Productos descontinuados con unidades en Stock
select * from Products
where Discontinued = 1 and UnitsInStock >0
go

Listar los productos cuya descripción inicial con la letra C
select * from Products
where ProductName Like ‘C%’
go

— Listar los clientes cuyo contacto sea el Manager.
select * from Customers where ContactTitle like ‘%Manager%’
go

— Listar las órdenes (Orders) que fueron atendidas después de 5 días.
select O.OrderID As ‘Nº Orden’, Format(O.OrderDate,’dd/MM/yy’) As ‘Fecha Registro’,
Format(O.ShippedDate,’dd/MM/yy’) As ‘Fecha Atención’,
[Días de Espera] = DATEDIFF(d,OrderDate, ShippedDate)
from Orders As O
where DATEDIFF(d,OrderDate, ShippedDate) > 5
go

— Listar los Empleados de la ciudad de Seattle en el país USA
select * from Employees
where City = ‘Seattle’ and Country = ‘USA’
go

— Listar los proveedores (Suppliers) de France que no tienen asignada una Region (Null)
select * from Suppliers where Country = ‘France’ and Region is Null
go