创建索引以提取特定日期

时间:2016-01-27 00:45:11

标签: sql sql-server

我创建了两个表。

活动:

Create Table Events
(EventID int identity (2001,1) CONSTRAINT pkeventid PRIMARY KEY
, EventName nvarchar(50) not null 
, StartDate datetime not null
, CustomerID int CONSTRAINT fkcustomerID REFERENCES 
  Customer(CustomerID)

客户:

Create Table Customer
(CustomerID int identity (4001,1) CONSTRAINT pkcusid PRIMARY KEY
, Name nvarchar(50) not null 
, Address nvarchar(50) not null 
, City nvarchar(50) not null 
, State nvarchar(50) not null 

如何创建索引以提取特定日期组织的活动的客户详细信息?

1 个答案:

答案 0 :(得分:1)

看起来您可能会混淆查询和索引。在基本级别,查询是将记录连接在一起,应用过滤器(例如事件日期),标识要返回的记录的哪些部分,并对它们进行排序。索引可以帮助数据库引擎组织和存储部分记录,从而使某些查询执行得更快。

以下查询可帮助您入门。您正在寻找INNER JOIN加入您的活动和客户。然后,您需要WHERE来过滤开始日期的结果。

SELECT *
FROM Customer
    INNER JOIN Events
        ON Events.CustomerID = Customer.CustomerID
WHERE CONVERT(DATE, Events.StartDate) = '2015-01-15'  

您可能只想学习一些有关学习SQL的教程(特别是使用SELECT,JOIN和WHERE)来开始。其中一些可能会有所帮助: