从一个表中选择,不在SQL Server中的另一个表中选择

时间:2018-08-01 15:57:38

标签: sql-server

我的计算机上有一个SQL Server数据库,其中有两个表。

这是第一个:

SELECT  
    [ParticipantID]
    ,[ParticipantName]
    ,[ParticipantNumber]
    ,[PhoneNumber]
    ,[Mobile]
    ,[Email]
    ,[Address]
    ,[Notes]
    ,[IsDeleted]
    ,[Gender]
    ,[DOB]
FROM 
    [Gym].[dbo].[Participant]

这是第二个

SELECT  
    [ParticipationID]
    ,[ParticipationNumber]
    ,[ParticpationTypeID]
    ,[AddedByEmployeeID]
    ,[AddDate]
    ,[ParticipantID]
    ,[TrainerID]
    ,[ParticipationDate]
    ,[EndDate]
    ,[Fees]
    ,[PaidFees]
    ,[RemainingFees]
    ,[IsPeriodParticipation]
    ,[NoOfVisits]
    ,[Notes]
    ,[IsDeleted]
FROM 
    [Gym].[dbo].[Participation]

现在我需要编写一个可以返回的T-SQL查询

SELECT 
    Participant.ParticipantNumber,
    Participation.ParticipationDate,
    Participation.EndDate
FROM
    Participation
WHERE 
    Participant.ParticipantID = Participation.ParticipantID;

我要感谢

1 个答案:

答案 0 :(得分:-3)

SQL Server使用内存中排序和哈希联接技术执行排序,相交,并集和差异操作。使用这种类型的查询计划,SQL Server支持垂直表分区,有时也称为列存储。

SQL Server使用三种类型的联接操作:

嵌套循环加入 合并加入 哈希加入 加入基础知识 通过使用联接,您可以基于表之间的逻辑关系从两个或多个表中检索数据。连接表示Microsoft SQL Server如何使用一个表中的数据选择另一表中的行。

联接条件通过以下方式定义查询中两个表的关联方式:

在每个表中指定要用于联接的列。典型的连接条件从一个表中指定外键,并在另一表中指定其关联键。 指定用于比较列中的值的逻辑运算符(例如=或<>)。 可以在FROM或WHERE子句中指定内部联接。外部联接只能在FROM子句中指定。连接条件与WHERE和HAVING搜索条件结合使用,以控制从FROM子句中引用的基表中选择的行。

点击此链接可以帮助您更好地理解mssql中的联接: link to joins