• ADADADADAD

    mysql数据库如何实现查询语句[ mysql数据库 ]

    mysql数据库 时间:2024-11-25 18:00:33

    作者:文/会员上传

    简介:

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

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    查询语句: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>selectid,Sum(score)fromresultgroupbyid;
    多表查询

    一、等值查询

    现在有两个表:

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

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

    它的查询如下图所示:

    可见等值查询效率太低

    二、连接查询

    1、外连接查询

    (1)左外连接查询

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

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

    如下图所示:


    语句为:

    selecta.id,scorefrom(selectid,agefromstuwhereage<20)a(过滤左表信息)leftjoin(selectid,scorefromresultwherescore<60)b(过滤右表信息)ona.id=b.id;

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

    (2)右外连接查询

    selecta.id,scorefrom(selectid,agefromstuwhereage<20)a(过滤左表信息)rightjoin(selectid,scorefromresultwherescore<60)b(过滤右表信息)ona.id=b.id;

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

    如图:

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

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

    (3)全外连接查询

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

    2、内连接查询

    只筛选匹配结果

    比如过滤的结果如下:

    最后的结果为:

    只匹配我们需要的结果

    语句为:

    selecta.id,scorefrom(selectid,agefromstuwhereage<20)a(过滤左表信息)innerjoin(selectid,scorefromresultwherescore<60)b(过滤右表信息)ona.id=b.id;
    mysql数据库如何实现查询语句.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysql数据库