百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Mysql四:常用查询语句(十种),一般情况够用了

haoteby 2024-11-05 11:09 29 浏览

sql 查询语句:总结一下常用的,只要你不是数据库管理员,一般都够用了。

表一:select * from t_step;

表二:select * from t_case;

说10个知识点,分组查询中有个【字段合并】聚合函数注意一下

1、limit 读取前几条

 # 解读:读取前2条
select * from t_step limit 2; 
select * from t_step limit 3,2; 
# 返回:2条数据  解读:从第3个索引读取2条(索引从0开始,从第4条开始取)
id    case_id      step----------------
4	   case004	   步骤4
5	   case002	   步骤22
# 解读:先where条件,再limit读取
select * from t_step where case_id like 'case%' limit 2;  

2、排序 order by

# 以下两条排序 等价,order by 默认是 asc(从小到大排序)
select * from t_step order by case_id 
select * from t_step order by case_id asc
# 从大到小排序
select * from t_step order by case_id desc

3、去重复 distinct

# 把 case_id 去重复
select distinct case_id from t_step

4、分组查询 group by

常用聚合函数:
行数count(*),求和sum(score),求平均avg(age),
最小值min(age),最大值max(age)
group_concat(sep) 合并sep字段数据

select case_id,count(*) from t_step group by case_id ;
case_id  count(*)--------------                    
case001	1
case002	2
case003	1
case004	1
                     
 select case_id,count(*) from t_step where case_id!='case001' group by case_id ;
case_id  count(*)--------------   
case002	2
case003	1
case004	1

select case_id,count(*) from t_step where case_id!='case001' group by case_id having count(*)>1;
case_id  count(*)--------------   
case002	2

select case_id,group_concat(step) from t_step group by case_id;
case_id,group_concat(step)
case001	步骤1
case002	步骤2,步骤22
case003	步骤3
case004	步骤4


5、取交集1:笛卡尔积

select * from t_case as c, t_sep as s where c.case_id = s.case_id;
# 返回:5条  解读:把所有行数取交集
id case_id case_name  id(1) case_id(1) step----------------
1	case001	用例1	1	case001	步骤1
2	case002	用例2	2	case002	步骤2
3	case003	用例3	3	case003	步骤3
4	case004	用例4	4	case004	步骤4
2	case002	用例2	5	case002	步骤22

6、取交集2:链接(内链接)join on 等价于 inner join on

select * from t_case join t_step on t_case.case_id = t_step.case_id;
# 返回:5条  解读:把所有行数取交集
id case_id case_name  id(1) case_id(1) step----------------
1	case001	用例1	1	case001	步骤1
2	case002	用例2	2	case002	步骤2
3	case003	用例3	3	case003	步骤3
4	case004	用例4	4	case004	步骤4
2	case002	用例2	5	case002	步骤22

7、左链接 left join on

# 以下2条语句输出一样
select * from t_case as c left join t_step as s on c.case_id = s.case_id
# 返回:5条  解读:以左表为基础链接,右表中多,则丢弃,右表中少,则Null补充
select * from t_case left join t_step using(case_id); 
# 返回:5条  解读:using(字段) 可以取代 on条件
id case_id case_name  id(1) case_id(1) step----------------
1	case001	用例1	1	case001	步骤1
2	case002	用例2	2	case002	步骤2
3	case003	用例3	3	case003	步骤3
4	case004	用例4	4	case004	步骤4
2	case002	用例2	5	case002	步骤22
5	case006	用例6	Null   Null  Null

8、右链接

右链接和左链接相反,以右表为基础链接,左表中多,则丢弃,左表中少,则Null补充
select * from t_case as c right join t_step as s on c.case_id = s.case_id;
select * from t_case right join t_step using(case_id);

9、全链接(union)可以用左链接 union 右链接

union 去重复;union all 不去重复
select * from t_case as c left join t_step as s on c.case_id = s.case_id
union 
select * from t_case as c right join t_step as s on c.case_id = s.case_id;

10、子查询 简单举个例子,新表用()包裹起来

select * from t_case where case_id in (select case_id from t_step)
select * from (select case_id,case_name from t_case) as t where t.case_id = 'case001';

select c.case_id,c.case_name,s.step from
(select case_id,case_name from t_case) as c,
(select case_id,step from t_step) as s
where c.case_id = s.case_id;

下篇文章说一下 sql 语句的 增、删、改。

相关推荐

谷歌开源大模型评测框架正式发布,AI模型评测难题迎刃而解

近日科技巨头谷歌正式推出其开源大模型评测框架LMEval,这一创新工具为全球AI开发者和企业提供了标准化的模型评估解决方案。LMEval的发布不仅标志着AI模型评测迈入透明化时代,更通过多项核心技术...

Android 开发中文引导-动画和图形概述

安卓系统提供了各种强大的API,用来将动画应用于界面元素和自定义2D和3D图形的绘制当中。下面的小节大概的描述了可用的API和系统功能并帮助你决定那个方案最适合你的需要。动画安卓框架提供了两种动画系统...

Qt5 C++入门教程-第12章 绘图(QPainter)

QPainter类在Qt5中进行绘图时起着重要作用。绘图操作是通过QPainter类在响应paintEvent方法时完成的。线条在第一个示例中,我们在窗口的客户区绘制了一些线条。line...

文创测评︱《如意琳琅图籍》:本土原创解谜书的胜利?

设想这样一个场景,你打开一本书,就化身为乾隆三十六年紫禁城中的画画人周本,有一天你在故纸堆中找到一本神秘的《如意琳琅图籍》,踏上寻宝旅程,历经各种离奇复杂的故事……这是故宫与奥秘之家联手打造的创意解谜...

gif动图制作攻略!快快收藏(求gif制作的动图)

有事没事斗图玩是当下人们乐此不疲的事情,手里的gif动图也渐渐成为了人们抬杠互怼的一大资本。好有趣,好炫酷,gif是怎么做出来的?我也想做。什么?你不会?没关系,我来教你!首先介绍一下制作gif动图需...

eduis未能初始化界面 无法启动 问题解决办法

1.如果edius安装后启动后出现failedtoinitializeskin中文提示无法初始化界面的错误。这说明你的电脑安装了双显卡,而edius所使用的是图形显卡。可以选择edius图标右键...

写真一周:水岛美结水着解禁、长滨祢瑠婚纱写真等

...

Flash Player模拟器更新:Rufffle(flash模拟器安卓下载高版本)

Ruffle是一个适用于WindowsPC的FlashPlayer模拟器,用Rust编写。Ruffle作为一个独立的应用程序在所有现代操作系统上原生运行,并通过使用WebAssembly在所有现代...

支持终身免费4G流量,星星充电7kW星际智能交流充电桩拆解

前言近期星星充电推出了一款星际智能交流充电桩,在正面设有灯条,可根据灯条颜色和显示直观了解充电状态,并设有屏幕显示充电状态和ui表情。充电桩支持220V/7kW充电功率,适配主流新能源车型。并支持终身...

乐动随心之fancy pop(乐动随心壶多少钱一个)

跳动飞扬的音符像是连通人与人之间心电感应的通关密码,融化陌生,拉近彼此。此次我们邀请到宅男女神江语晨,化身音乐精灵。在歌手、演员身份间游刃自如的她,为我们生动诠释了三种不同的音乐时尚风格,娴静可爱,灵...

Asus Zenflash 手机也能玩引闪,从此相机是路人

在讲解Zenflash之前,不得不提索爱的K750c,这个机器采用了氙气闪光灯,让手机的拍摄上了档次,可玩性更高,不过,说实话,当时手机的摄像头像素低,成像一般,没有掀起太大的波澜,可现在,手机的Cm...

Axure有哪些鲜为人知的使用技巧?(axure的使用教程)

阿拓带你飞:不管是想入门产品经理还是已经是PM的人对AXURE都很关注,它是制作产品原型的重要工具,但是有多少人了解AXURE的使用技巧?本文是来自“知乎问答”整理的回答,一起来看看那些不常用的使用技...

挑战黑夜 华硕ZenFlash氙气闪光灯评测

【机锋配件】说到摄影,相信许多朋友都非常喜欢,不管是外出游玩拍拍风景,还是和朋友之间聚会,都会掏出手机拍两张,在餐前拍照晒朋友圈更是成为了许多用户的日常爱好,就算不是专业的摄影爱好者,大家也都有一颗热...

WPS 演示倒计时 3 步设置!从数字动画到进度条全场景教程

做PPT时想添加倒计时却找不到入口?WPS演示自带的"动画+计时"功能就能轻松实现——无论是课堂互动的30秒答题倒计时、商务汇报的5分钟限时讲解,还是活动暖场的动...

flash动画an制作MG动画元素如何调节透明度,小白...

如何在flash动画软件里面调节mg动画元素的透明?因为flash动画软件现在已经升级为flash动画软件,所以直接用新版flash动画软件开工,基本功能都差不多,只是flash增加很多智能化、人性...