用sql语句查询每个人的基本信息和宾馆入住次数,生成新表:N1
时间: 2023-08-04 10:14:40 浏览: 400
假设有两个表,一个是人员基本信息表(Person),包含字段:姓名(name)、性别(gender)、年龄(age)、身份证号(idcard)等等;另一个是宾馆入住记录表(HotelRecord),包含字段:宾馆名称(hotel_name)、入住时间(checkin_time)、离店时间(checkout_time)、身份证号(idcard)等等。
可以使用以下 SQL 语句查询每个人的基本信息和宾馆入住次数,并生成新表 N1:
```
SELECT p.name,p.gender,p.age,p.idcard,COUNT(*) AS stay_count
FROM Person p
INNER JOIN HotelRecord h ON p.idcard=h.idcard
GROUP BY p.name,p.gender,p.age,p.idcard
INTO N1;
```
其中,INNER JOIN 表示对两个表进行内连接。COUNT(*) 表示统计每个人入住的次数。GROUP BY 表示按照姓名、性别、年龄和身份证号进行分组。INTO 表示将查询结果存储到新表 N1 中。
相关问题
用sql语言查询每个人的信息和宾馆入住次数,生成新表n1
好的,以下是 SQL 查询语句,可以生成新表 n1:
```
CREATE TABLE n1 AS
SELECT person.id, person.name, COUNT(*) AS checkin_times
FROM person
INNER JOIN checkin ON person.id = checkin.person_id
GROUP BY person.id;
```
解释一下这个查询语句:
首先创建一个新表 n1,然后从 person 表和 checkin 表中关联查询,以获得每个人的信息和入住次数。使用 INNER JOIN 连接两个表,以 person 表的 id 字段和 checkin 表的 person_id 字段相匹配。然后使用 GROUP BY 子句按照 person.id 分组,并使用 COUNT(*) 函数计算每个人的入住次数。最后将结果插入到新表 n1 中。
阅读全文