IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Mysql——子查询 -> 正文阅读

[大数据]Mysql——子查询

在这里插入图片描述

子查询

1.用在where和having后面的子查询

单行子查询

查询人口比俄罗斯多的国家

#先查询俄罗斯的人口
select name,population from country where name like '%Russian%';
#将俄罗斯的人口数值作为比较值放入语句中
select * from country where 
population >
(select population from country where name like '%Russian%');

image-20220427231617934

多个条件

查询预期寿命和GNP比中国高的国家名称及其GNP和预期寿命

SELECT name, gnp, lifeexpectancy
FROM country WHERE
gnp > (SELECT gnp FROM country WHERE name = 'CHina')
AND lifeexpectancy > (SELECT lifeexpectancy FROM country WHERE name = 'CHina');

having子句中含有子查询

查询最低寿命预期大于非洲平均寿命预期的大洲名称及其最低寿命预期

# ① 查询非洲平均寿命预期
select avg(lifeexpectancy) from country where Continent = 'Africa'; # 52.57193
#查询
SELECT continent, MIN(LifeExpectancy) AS m
FROM country GROUP BY Continent
HAVING m > (SELECT AVG(lifeexpectancy) FROM country WHERE Continent = 'Africa');

2.用在select后面的子查询

显示预期寿命大于75岁的国家数量和国家总数

查询寿命大于75的国家数量

select count(*) from country where LifeExpectancy>75; #1.

将1作为一个字段查询国家总数

select
(select count(*) from country where LifeExpectancy>75) as "预期寿命大于75的国家数量",
count(*) as "国家总数" from country;

out

image-20220427214506896

3.应用在from 后面

查询每个部门的平均工资的工资级别

查询每个部门的平均工资

select avg(sal),deptno from emp group by deptno;  #2

**将2作为条件与salgrade连接 **

select deptno,e.avg_sal,s.grade 
from (select avg(sal) as avg_sal,deptno from emp group by deptno) e
join salgrade s on
e.avg_sal between s.losal and s.hisal

image-20220427215750610

4.应用在exists后面

查询国家表中议会君主制(Parlementary Monarchy) 国家

select * from country where GovernmentForm = 'Parlementary Monarchy';

查询国家表中是否存在议会君主制的国家?

select exists(select * from country where GovernmentForm = 'Parlementary Monarchy');

image-20220427220243163

查询使用英语但英语不是官方语言的国家信息

方法一

查询使用英语但英语不是官方语言的国家

select distinct CountryCode from countrylanguage where Language='English' and IsOfficial ='F';

查询符合条件的信息

select * from country where code in(select distinct CountryCode from countrylanguage where Language='English' and IsOfficial ='F');

image-20220427220845020

分页查询

image-20220427221105683

select 查询列表 from 表 limit (page-1)*size,size;

示例

select count(*) from country limit 6;

查询人口数量最多的第11-15名的国家名称和人口数量

select population from country order by population desc limit 10,5;
#下标从0开始,10表示第11条记录,5表示从第11条记录开始查询5条

image-20220427221733361

联合查询

将多次查询的结果合并为一个结果

image-20220427221834311

**合并讲英语的国家编码和语言,和伊丽莎白二世(Elisabeth II)为国家元首的国家信息(国家编码和名称) **

select CountryCode,Language from countrylanguage where Language = 'English'
union
select code,name from country where HeadOfState = 'Elisabeth II';

image-20220427224129216

通常情况下用于合并多个不同的数据源的相同字段信息

合并查询讲英语的国家编码,以及讲法语的国家编码

select CountryCode,Language from countrylanguage where Language = 'English'
union
select CountryCode,Language from countrylanguage where Language = 'French';
select count(*) from countrylanguage where Language = 'English'; # 60
select count(*) from countrylanguage where Language = 'French'; # 25
select count(*) from (
select CountryCode,Language from countrylanguage where Language = 'English'
union
select CountryCode,Language from countrylanguage where Language = 'French') a;
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-29 12:12:55  更:2022-04-29 12:13:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:06:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码