站长家园(原代码之家)(www.adminjie.com)网站源码,微信源码,游戏源码,商业源码分享平台。
当前位置:网站首页 技术文章 网络编程 正文

mysql数据库的查询语句是什么

时间:2022-01-06 [网络编程]作者:fabuyuan 浏览:4 次

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

mysql数据库的查询语句是什么  2

本教程操作环境: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;

多表查询

一、等值查询

现在有两个表:

mysql数据库的查询语句是什么  2

mysql数据库的查询语句是什么  2

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

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

它的查询如下图所示:

mysql数据库的查询语句是什么  2

可见等值查询效率太低

二、连接查询

1、外连接查询

(1)左外连接查询

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

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

如下图所示:

mysql数据库的查询语句是什么  2
语句为:

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;

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

如图:

mysql数据库的查询语句是什么  2

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

mysql数据库的查询语句是什么  2

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

(3)全外连接查询

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

2、内连接查询

只筛选匹配结果

比如过滤的结果如下:

mysql数据库的查询语句是什么  2

最后的结果为:

mysql数据库的查询语句是什么  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视频教程

以上就是mysql数据库的查询语句是什么的详细内容,更多请关注站长家园其它相关文章!

本文标签:  mysql数据库查询语句

转载请注明来源:mysql数据库的查询语句是什么

本文永久链接地址:https://www.adminjie.com/post/7279.html

免责声明:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

附:
二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!

版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,若有侵犯你的权益请:提交版权证明文件到邮箱 2225329873#qq.com(#换为@) 站长会进行审查之后,情况属实的会在三个工作日内为您删除。

  • 站长家园(原代码之家)会员升级
  • 最新文章
    • 重启docker服务后容器会被删除吗

      重启docker服务后容器会被删除吗

      在docker中,重启docker服务后容器不会被删除,但是容器会停止运行,重启了docker进程后,该服务器上跑的docker容器会全部退出不会被删除,可以利...

    • centos7 终端中文乱码怎么办

      centos7 终端中文乱码怎么办

      centos7终端中文乱码的解决办法:1、查看服务器编码;2、查看终端xshell编码;3、设置“exportLANG="zh_CN.UTF-8"”;4、重启...

    • html5标签head和header有什么区别

      html5标签head和header有什么区别

      区别:1、head标签用于定义文档头部,它是所有头部元素的容器,而header标签用于定义文档的页眉(介绍信息);2、浏览器都支持head标签,而旧版本浏览器均...

    • docker可以装在虚拟机上吗

      docker可以装在虚拟机上吗

      docker可以装在虚拟机上;docker容器运行在虚拟机或者物理机上都可以,无论是虚拟机还是物理机,都是硬件和基础设施的一种交付方式,而docker容器主要就...

    • centos是linux系统吗

      centos是linux系统吗

      centos是linux操作系统的一个版本,centos主要分为两个版本:1、CentOSLinux版,该Linux版每两年发行一次;2、CentOSStr...

  • 买服务器送会员
  • 热门文章
  • 买服务器送会员