SQL让没有大前锋的球队
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL让没有大前锋的球队相关的知识,希望对你有一定的参考价值。
我在我的Teams
表中存储有关篮球队的数据,如下所示:
CREATE TABLE Teams (
Id varchar(5) NOT NULL PRIMARY KEY,
TeamName varchar(50) NOT NULL
);
我让团队成员保持在TeamMembers
表中,如下所示:
CREATE TABLE TeamMembers (
Id int NOT NULL PRIMARY KEY,
TeamId VARCHAR(5) FOREIGN KEY REFERENCES Teams(Id),
LastName varchar(50) NOT NULL,
FirstName varchar(50) NOT NULL,
PositionId int NOT NULL
);
位置在INT
ID的另一个表中。例如,本练习中的Guard:1,Center:2和Power Forward:3。
我想得到一个没有大前锋的篮球队名单。
答案
就像是:
select *
from Teams
where Id not in
(
select TeamId
from TeamMembers
where PositionID = 4
)
另一答案
检查行是否不存在时,请使用NOT EXISTS
!。
SELECT
T.*
FROM
Teams AS T
WHERE
NOT EXISTS (
SELECT
'team has no power forward member'
FROM
TeamMembers AS M
WHERE
M.TeamID = T.ID AND
M.PositionID = 3) -- 3: Power Forward
以上是关于SQL让没有大前锋的球队的主要内容,如果未能解决你的问题,请参考以下文章