我在编写一个非常简单的 SQL 查询时遇到问题,该查询选择所有三个表中的所有列并连接我创建的数据库中的三个表,并使用 BETWEEN 过滤使用出生日期过滤数据的记录选择。
这些是我的表:
--此代码创建 Stores 表--
CREATE TABLE [SHATTKudlerFineFoods].dbo.tblStores
(
strStoreID varchar (4) CONSTRAINT PK_strStoreID PRIMARY KEY Not Null,
strStoreName varchar (20) Not Null,
strManagerName varchar (30) Not Null
)
--此代码创建职位表--
CREATE TABLE [SHATTKudlerFineFoods].dbo.tblJobTitle
(
jobJobID varchar (4) CONSTRAINT PK_jobJobID PRIMARY KEY Not Null,
jobJobClass varchar (60) Not Null,
jobTitle varchar (60) Not Null,
jobDescription varchar (300) Not Null,
jobStatus varchar (11) Not Null
)
--此代码创建员工表--
CREATE TABLE [SHATTKudlerFineFoods].dbo.tblEmployee
(
empEmpID varchar (3) CONSTRAINT PK_empEmployeeID PRIMARY KEY Not Null,
empLName varchar (20) Not Null,
empFName varchar (15) Not Null,
empAddress varchar (30) Not Null,
empCity varchar (20) Not Null,
empState varchar (2) Not Null,
empZIPCode varchar (5) Not Null,
empAreaCode varchar (3) Not Null,
empPhoneNo varchar (8) Not Null,
empGender varchar (1) Not Null,
empDOB smalldatetime Not Null,
empAge Tinyint Not Null,
empHireDate smalldatetime Not Null,
empNoOfExempt Tinyint Not Null,
empMaritalStatus varchar (3) Not Null,
empSalary money Not Null,
empStoreID varchar (4) CONSTRAINT FK_strStoreID FOREIGN KEY REFERENCES
tblStores(strStoreID) Not Null,
empJobID varchar (4) CONSTRAINT FK_jobJobID FOREIGN KEY REFERENCES
tblJobTitle(jobJobID) Not Null
)
这是我为加入他们而写的查询:
USE [SHATTKudlerFineFoods]
SELECT *
FROM tblStores INNER JOIN tblEmployee
ON tblStores.strStoreID = tblEmployee.empStoreID
FULL OUTER JOIN tblStores
ON tblStores.strStoreID = tblJobTitle.ordStoreID
WHERE empDOB BETWEEN '1/1/1985' and '1/1/1999'