您现在的位置是:群英 > 数据库 > MySQL数据库
MySQL中查询常见类型有几种,SQL语句怎样写
Admin发表于 2022-08-13 17:51:491249 次浏览
今天就跟大家聊聊有关“MySQL中查询常见类型有几种,SQL语句怎样写”的内容,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

查询语句:1、“select * from 表名;”,可查询表中全部数据;2、“select 字段名 from 表名;”,可查询表中指定字段的数据;3、“select distinct 字段名 from 表名”,可对表中数据进行去重查询。

本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

单表查询

1、普通查询

(1)命令:select * from <表名>;//通匹

(2)命令:select <要查询的字段> from <表名>;

2、去重查询(distinct)

命令:select distinct <要查询的字段> from <表名>

3、排序查询(order by)

升序:asc

降序:desc

降序排列命令:select <要查询的字段名> from <表名> order by <要查询的字段名> desc

不加desc一般默认为升序排列

4、分组查询(group by)

命令:select <按什么分的组>, Sum(score) from <表名> group by <按什么分的组>

假设现在又有一个学生成绩表(result)。要求查询一个学生的总成绩。我们根据学号将他们分为了不同的组。

命令:

mysql>select id, Sum(score) from result group by id;

多表查询

一、等值查询

现在有两个表:

现在要查询年龄小于20岁学生的不及格成绩

语句:select stu.id,score from stu,result where stu.id = result.id and age < 20 and score < 60;

它的查询如下图所示:

可见等值查询效率太低

二、连接查询

1、外连接查询

(1)左外连接查询

假设我们依旧使用的是上面的两个表,任然查询年龄小于20岁学生的不及格成绩

我们利用左外连接查询,先将学生表中所有年龄小于20岁的学生取出来,再在成绩表中将所有成绩小于60的学生取出来,然后再进行配对,我们会发现效率大大得提高,只用匹配四次就可以找到。

如下图所示:


语句为:

select a.id,score
from
(select id,age from stu where age < 20) a (过滤左表信息)
left join
(select id, score from result where score < 60) b (过滤右表信息)
on a.id = b.id;

左外连接就是左表过滤的结果必须全部存在。如果存在左表中过滤出来的数据,右表没有匹配上,这样的话右表就会出现NULL;

(2)右外连接查询

select a.id,score
 from
 (select id,age from stu where age < 20) a (过滤左表信息)
 right join
 (select id, score from result where score < 60) b (过滤右表信息)
 on a.id = b.id;

左外连接就是左表过滤的结果必须全部存在

如图:

我们发现过滤出来的表进行的匹配只有两条满足条件(红色代表条件满足),但最后的结果却是:

左表不匹配的数据改为空,右表过滤出来的数据都要存在。

(3)全外连接查询

结合了左外连接和右外连接,使得左表和右表的数据都存在。

2、内连接查询

只筛选匹配结果

比如过滤的结果如下:

最后的结果为:

只匹配我们需要的结果

语句为:

select a.id,score
 from
 (select id,age from stu where age < 20) a (过滤左表信息)
 inner join
 (select id, score from result where score < 60) b (过滤右表信息)
 on a.id = b.id;

以上就是关于“MySQL中查询常见类型有几种,SQL语句怎样写”的介绍了,感谢各位的阅读,希望文本对大家有所帮助。如果想要了解更多知识,欢迎关注群英网络,小编每天都会为大家更新不同的知识。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: mysql查询
相关信息推荐
2022-06-13 17:09:29 
摘要:sql语言具有的三个常见功能是:1、数据定义;能够定义数据库的三级模式结构,即外模式、全局模式和内模式结构。2、数据操纵;包括对基本表和视图的数据插入、删除、修改和查询功能。3、数据控制;主要是对用户的访问权限加以控制,以保证系统的安全性。
2022-08-08 17:33:26 
摘要:本篇文章给大家带来了关于oracle的相关知识,其中主要介绍了关于误删oracle数据库中的数据,在不考虑全库备份和利用归档日志情况,怎样快速恢复数据的相关问题,下面一起来看一下,希望对大家有帮助。
2022-05-09 18:04:39 
摘要:oracle修改注释的方法:1、利用“comment on table 表名 is '注释内容'”语句修改表注释;2、利用“comment on column 表名.字段名 is '注释内容'”语句修改表字段注释。
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部