我将有关篮球队的数据存储在我的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的表中。例如,在本练习中,后卫: 1,中锋:2和大前锋:3。
我想要一份没有大前锋的篮球队名单。
发布于 2018-05-04 07:58:44
类似于:
select *
from Teams
where Id not in
(
select TeamId
from TeamMembers
where PositionID = 4
)发布于 2018-05-04 18:40:41
在检查行是否不存在时,使用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 Forwardhttps://stackoverflow.com/questions/50165259
复制相似问题