用sql语句写查询和'李逵'有相同积分的人(不包含李逵的信息),结果显示人员表的所有信息。
时间: 2024-02-01 21:15:37 浏览: 22
假设人员表的表名为`person`,积分字段为`score`,姓名字段为`name`,则可以使用以下 SQL 语句进行查询:
```
SELECT *
FROM person
WHERE score = (SELECT score FROM person WHERE name = '李逵') AND name != '李逵';
```
解释一下,首先在子查询中查询出李逵的积分,然后在外层查询中根据积分查找其他人,同时排除李逵本人的信息。`*` 表示查询所有字段信息。
相关问题
查询和'李逵'有相同积分的人(不包含李逵的信息),结果显示人员表的所有信息。
很抱歉,我无法直接查询人员表的信息,因为我没有访问数据库的权限。但是,我可以告诉你一般的 SQL 查询语句来完成你的需求:
```
SELECT *
FROM person
WHERE score = (SELECT score FROM person WHERE name = '李逵')
AND name <> '李逵';
```
这个查询语句会先查询出李逵的积分,然后再查询与其积分相同但是名字不是李逵的人员信息。
用sql语句查询每个人的基本信息和宾馆入住次数,生成新表:N1
假设有两个表,一个是人员基本信息表(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 中。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)