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.显式内连接(结构较清晰)

SELECT name,class

FROM student AS s

INNER JOIN studentClass AS c

ON s.id = c.id

翻译:

SELECT 所查列名1(字段),所查列名2(字段)

FROM 表1(主表) AS 表1的小名(别名)

INNER JOIN 表2(副表) AS 表2的小名(别名)

ON 表1公有列=表2公有列(条件)

2.隐式内连接(逻辑较清晰)

SELECT name, class

FROM student AS s, studentClass?AS c

WHERE s.id = c.id

翻译:

SELECT 字段1,字段2

FROM 表一 AS 小名,表二 AS 小名

WHERE 表一公有字段1=表二公有字段2

二、外连接

定义:外连接是以一张表为基表,返回基表中所有记录及连接表中符合条件的记录的连续查询

1.左连接

定义:左外连接是以左表为基表,返回左表中所有记录及连接表中符合条件的记录的外连接

SELECT name, class

FROM student AS s

LEFT JOIN studentClass?AS c

ON s.id = c.id

翻译:

SELECT 字段1,字段二

FROM 左表 AS 小名

LEFT JOIN 右表 AS 小名

ON 左表公有字段1=右表公有字段2

2.右连接

定义:右外连接是以右表为基表,返回右表中所有记录及连接表中符合条件的记录的外连接

SELECT name, class

FROM student AS s

RIGHT JOIN studentClass?AS c

ON s.id = c.id

翻译:

SELECT 字段1,字段二

FROM 右表 AS 小名

RIGHT JOIN 左表 AS 小名

ON 左表公有字段1=右表公有字段2

内外连接区别:

内连接=交集(没有空数据,不一定包含完整的表)

外连接=主表+交集(有一基表,不满足有空数据,基表还是完整的)

三、子查询

定义:子查询是在一个查询的内部包括另一个查询的查询方式

例:查询所有比张三成绩高的同学

SELECT * FROM stu

WHERE score >(SELECT score FROM stu WHERE name='张三')

翻译:

SELECT * FROM 表

WHERE 字段 >

(SELECT 字段 FROM 表 WHERE 字段2='条件')

关键字用法例子
distinct唯一的值(重复的不计)select DISTINCT 字段 from 表
group by ...??having...对查询到的结果集进行分组

select city group by city having count(memberId)>=3

查询城市成员总数大于等于3的城市,同时按城市名分组

inner join多表查询内连接处例子
left join多表查询外连接处例子
as使用别名
between...and...在..和..之间
in (..,..,..,..)在()中的数据之间in (85,86,88)
or或者class='95031' or ssex='女'
order by...desc

ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,可以使用 DESC关键字。

select *from score order by Cno,Degree desc

以Cno升序、Degree降序查询Score表的所有记录。

count(*)聚合函数-求列数

select count(*) from student where class='2184'

max()聚合函数-求最大值select MAX(Degree) as maxfen,MIN(Degree) as minfen from Score where Cno='3-105'
min()聚合函数-求最小值
sum()聚合函数-求和
avg()聚合函数-求平均值
any

任意一个

<\<=any相当于:父查询中的结果集小于子查询中任意一个值(小于子查询结果集中的最大值),则为真;

>\>=any相当于:父查询中的结果集大于子查询中任意一个值(大于子查询结果集中的最小值),则为真;

=any相当于in:父查询条件表达式存在于子查询的结果集中里

无<>/!=any

T1(2,3)
T2(1,2,3,4)

测试

select * from T2
where n > ANY(select n from T1)
结果显示:
3,4

all

所有

<\<=all相当于:父查询中的结果集小于子查询中每一个值(小于子查询结果集中的最小值),则为真;

>\>=all相当于:?父查询中的结果集大于子查询中每一个值(大于子查询结果集中的最大值),则为真;

<>/!=all相当于not in

=all相当于in

T1(2,3)
T2(1,2,3,4)

测试

select * from T2
where n > ALL(select n from T1)
结果显示:
4

some

some=any

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-24 14:59:55  更:2021-10-24 15:00:24 
 
开发: 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 4:03:02-

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