数据库part2---子查询

注:这里依然是在用game这个数据库

子查询

where 后为条件

如果想要用一个查询结果作为条件再进行查询

我们可以用子查询

如下例子

我们想用玩家的平均等级来作为条件找出高于平均等级的玩家

我们可以这样做

sql 复制代码
SELECT AVG(level) FROM player; --这个是条件
SELECT * FROM player WHERE level > (SELECT AVG(level) FROM player);

select 后为新表列

同样子查询可以用在select后面

比如我们需要看玩家的等级与平均等级和玩家等级和平均之间的差距

sql 复制代码
select level, ROUND((SELECT AVG(level) from player)), level - ROUND((SELECT AVG(level) from player)) from player;

我们可以用as对表头进行定义

as 起表名

update、delete、insert、create语句后都可以使用子查询

create 后创新表

在create后面用子查询可以得到输出查询结果返回的表

如下,就是查询结果是返回所有低于五级的玩家,并把他们归到一个新创建的表

sql 复制代码
CREATE TABLE new_player SELECT * FROM player WHERE level < 5;

如果现在想插入level 6~10的玩家到刚刚创建的新表(new_player)中

那我们可以用

insert 插数据

先查看6~10级都有哪些玩家

EXISTS 判断是否存在

如果我们想看看是否有等级大于100的玩家

那我们可以用exists

sql 复制代码
SELECT EXISTS(SELECT * FROM player WHERE level > 100)

那我们试着查询一下是否有等级大于10的玩家

1表示存在,0表示不存在

相关推荐
科技小花3 小时前
全球化深水区,数据治理成为企业出海 “核心竞争力”
大数据·数据库·人工智能·数据治理·数据中台·全球化
X56614 小时前
如何在 Laravel 中正确保存嵌套动态表单数据(主服务与子服务)
jvm·数据库·python
虹科网络安全5 小时前
艾体宝干货|数据复制详解:类型、原理与适用场景
java·开发语言·数据库
2301_771717215 小时前
解决mysql报错:1406, Data too long for column
android·数据库·mysql
小江的记录本5 小时前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
dvjr cloi5 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
dFObBIMmai6 小时前
MySQL主从同步中大事务导致的延迟_如何拆分大事务优化同步
jvm·数据库·python
szccyw06 小时前
mysql如何限制特定存储过程执行权限_MySQL存储过程安全访问
jvm·数据库·python
czlczl200209256 小时前
利用“延迟关联”优化 MySQL 巨量数据的深分页查询
数据库·mysql
ACP广源盛139246256737 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑