MySQL 查询从未登记住宿的人员信息
假设已有两个表:人员信息表(person)和住宿登记表(accommodation),其中人员信息表中包括姓名(name)和身份证号码(id_card),住宿登记表中包括住宿人员身份证号码(id_card)和住宿时间(check_in_time)。
查询从未登记住宿的人的信息,可以使用左连接(LEFT JOIN)和 WHERE 子句来实现。具体查询语句如下:
SELECT p.name, p.id_card
FROM person p
LEFT JOIN accommodation a ON p.id_card = a.id_card
WHERE a.id_card IS NULL;
解释一下上面的查询语句:
- 使用 LEFT JOIN 将两个表连接起来,以 person 表为主表,住宿登记表为从表。
- 在 WHERE 子句中,判断从表中的 'id_card' 是否为 NULL,如果为 NULL,则说明该人员从未登记过住宿记录,满足条件。
- 最终查询结果只包括满足条件的人员姓名和身份证号。
原文地址: https://www.cveoy.top/t/topic/odUu 著作权归作者所有。请勿转载和采集!