sql-server - SQL select join 帮助

标签 sql-server tsql

我在为这种情况找出查询时遇到问题。我想在此查询中使用两个表,它们是这样的:

Units
  ID
  Other Data
People
  ID
  UnitID  <-- fk to Units
  Other Data

这就是我想要做的:
我想选择所有在 People 表中没有一行链接到它们的单位。我该怎么做?

最佳答案

SELECT Units.* FROM Units LEFT JOIN People ON People.UnitID = Units.ID WHERE People.ID IS NULL

或者替代地

SELECT Units.* FROM Units WHERE NOT EXISTS (SELECT 1 FROM People WHERE People.UnitID = Units.ID)

甚至

SELECT Units.* FROM Units WHERE Units.ID NOT IN (SELECT UnitID FROM People)

关于sql-server - SQL select join 帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/870268/

相关文章:

php - MySql - 连接 2 个表,其中第二个表连接两次

sql - 使用 Openquery 链接服务器更新表

sql-server - 如何使用 T-SQL 将时间排名数据转换为 "Timeline"

sql - T-SQL 获取最后一个日期时间记录

python - 我可以使用 python 脚本获取用户在登录 Maximo 时运行的查询吗?

sql-server - 将 NULL 值传递到参数化 delphi SQL Server 查询中

sql-server - Sails.js 和 SQL Server 数据库提供程序

sql-server - 存储过程结果存入 Azure 数据仓库中的临时表

sql-server - FOR XML PATH ('' ) 在连接行时如何工作

SQL 服务器 : Can concurrent threads update same row?