写一条带NOT EXISTS 子查询的SQL语句实现下述查询要求: -- 查询人员表中没有去过地点“Today便利店”的人数。请给统计出的人数命名为number。 -- 请用一条SQL语句实现该查询
时间: 2024-03-10 22:48:04 浏览: 59
一个查询的SQL语句请教,希望能够用一条SQL语句得到结果
假设人员表名为person,去过地点的记录存在于visit表中,visit表中有两个字段:person_id表示去过某个地点的人员ID,location表示地点名称。
SQL语句如下:
```
SELECT COUNT(*) AS number
FROM person p
WHERE NOT EXISTS (
SELECT 1
FROM visit v
WHERE v.person_id = p.person_id
AND v.location = 'Today便利店'
)
```
解释:首先从person表中查询人员记录,然后在子查询中查询visit表中是否存在person_id与当前person表记录相同且去过'Today便利店'的记录,如果不存在,则当前person记录符合条件,最后统计符合条件的记录数量并命名为number。
阅读全文