文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySQL数据查询(可视化界面 MySQL Workbench)

2023-09-04 05:25

关注

一、SELECT语句

Select子句:指定要显示的列或表达式

From子句:指定查询数据来源的表或视图,可以指定一个表,也可以指定多个表

Where子句:指定选择行的条件

Group by子句:指定分组表达式

Having子句:制定满足分组的条件

Order by子句:指定行的升序或降序排序

Limit子句:指定查询结果集包含的行数

二、投影查询

       1、投影指定的列

               使用select语句可选择表中的一个列或多个列,若为多个列用逗号隔开

       2、投影全部列

              在select子句指定列的位置上使用 * 号时,则为查询表中所有的列

 

       3、修改查询结果的列

              在列名后使用AS<列别名>

       4、计算列值

             使用select子句对列进行查询时,可以对数字类型的列进行计算,可以使用加(+),减(-),乘(×),除(/)等算术运算符

       5、去掉重复行

              用distinct关键字去掉结果集中的重复行

三、选择查询

       1、表达式比较

              比较运算符用于比较两个表达式的值

       2、指定范围

              Between、not between、in是用于指定范围的三个关键词

     

 

        3、空值判断

              判断一个表达式的值是否为空值可用IS NULL关键字

       4、使用LIKE关键字的字符串匹配查询

              %:代表0或多个字符

              _:代表一个字符

              LIKE匹配中使用通配符的查询也称模糊查询

       5、使用正则表达式进行查询

              正则表达书通常用来检索或替换符合某个模式的文本内容,根据指定的匹配模式匹配文本中符合要求的特殊字符串。正则表达式的查询能力比通配符的查询能力更强大、更灵活、可以应用于非常复杂的查询中。

正则表达式常用的字符匹配选项

<字符串>:匹配包含指定的字符串的文本

[ ] :匹配在[ ]中的任何一个字符

[^] :匹配不在[ ]中的任何一个字符

^ :匹配文本的开始字符

$ :匹配文本的结束字符

. :匹配任何 单个字符

* :匹配零个或多个 * 前面的字符

+ :匹配+前面的字符1次或多次

{n} :匹配前面的字符串至少n次

四、分组查询和统计计算

       1、聚合函数

              聚合函数实现数据的统计计算,用于计算表中的数据,返回单个计算结果

                1.1 COUNT()函数

                        计算组中满足条件的行数或总行数

 

                1.2 SUM()、AVG()函数(两个函数只能用于数值类型的数据)

                        SUM():求出一组数据的总和

                        AVG():求出一组数据的平均值

               1.3 MAX()、MN()函数(两个函数可用于任意类型的数据)

                        MAX():求出一组数据最大值

                        MIN():求出一组数据最小值

 

       2、GROUP BY子句

              用于指定需要分组的列

注:若select子句的列名表包含聚合函数,则该列名表只能包含聚合函数指定的列名和group by子句指定的列名。聚合函数常与group by子句一起使用

 

       3、HAVING子句

              用于对分组按指定条件进一步进行筛选,过滤出满足指定条件的分组

注:HAVING子句可以使用聚合函数,WHERE子句不可以使用聚合函数

                当WHERE子句、GROUP BY子句、HAVING子句、ORDER BY子句在一个SELECT语句中时,执行顺序

        1、执行WHERE子句,在表中选择行

        2、执行GROUP BY子句,对选择行进行分组

        3、执行聚合函数

        4、执行HAVING子句,筛选满足条件的分组

        5、执行ORDER BY子句,进行排序

五、排序查询和限制查询结果的数量

       1、排序查询

             ORDER BY子句可用于对查询结果进行排序(可对数值、日期、字符三种数据类型使用,在整个SELECT语句最后)

              ASC:升序排序

              DESC:降序排序

         2、限制查询结果数量

              LIMIT子句用于限制SELECT语句返回的行数

             (1)Offset:位置偏移量,指示从哪一行开始显示,第1行的位置偏移量是0,第2行的位置偏移量是1,以此类推,若不指定位置偏移量,系统从表第1行开始显示

              (2)row_count:返回的行数

              (3)LIMIT子句两种语法格式,eg:显示表中第2~4行

                     A.LIMIT 1,3

                     B.LIMIT 3 OFFSET 1

六、连接查询

       1、交叉连接(CROSS JOIN)

            又称笛卡尔积,由第一个表的每行与第二个表的每行连接起来后形成的表,返回的结果集的行数等于所连接的两个表行数的乘积

       2、内连接(INNER JOIN)

            只有满足查询条件得到记录才能出现在结果集中,使用比较运算符进行表中某些字段值的比较操作,并将与连接条件相匹配的数据行组成新记录,以消除交叉连接中没有意义的数据行

有以下两种连接方式

INNER JOIN 显示语法结构

使用WHERE子句定义连接条件的隐式语法结构

                2.1、等值连接与非等值连接

                       使用“=”连接起来的为等值连接,其他运算符连接为非等值连接

 

                2.2、自然连接

                        在FROM子句中使用关键字NATURAL JOIN,自然连接在目标列中去除相同的字段名

                 2.3、自连接

                        将某个表与自身进行连接,为自表连接或自身连接,使用自连接需要为表指定多个别名,且对所有查询字段的引用必须使用表别名限定

       3、外连接

            只有满足查询条件得到记录才能最为结果输出,外连接的结果不但包含满足连接条件的行,还包括相应表中的所有行

左外连接:结果表中除了包含满足连接条件的行外,还包含左表的所有行,当左表有记录而在右表中没有匹配记录时,右表对应列被设置为NULL

右外连接:结果表中除了包含满足连接条件的行外,还包含右表的所有行,当右表有记录而在左表中没有匹配记录时,左表对应列被设置为NULL

七、子查询

        可以用一系列简单的查询构成复杂的查询,在SQL语句中SELECT…FROM…WHERE语句为一个查询块,在WHERE子句或HAVING子句所指定的条件中,可以使用另一个查询块嵌套查询

  1. IN子查询

        子查询和父查询的连接(先执行子查询,子查询的结果为父查询的查询条件)

  1. 比较子查询

        子查询和父查询之间用比较运算符进行关联

        ALL:表达式要与子查询结果集中每个值进行比较

        SOME、AND:表达式只要与子查询结果集中某个值满足比较关系

  1. EXISTS子查询

        只用于测试子查询是否返回行,若子查询返回一个或多个行,EXISTS返回TRUE,否则返回FALSE,NOT EXISTS返回值与EXISTS相反

八、联合查询

        将两个或多个SQL语句的查询结果集合并起来,利用联合进行查询处理以完成特定的任务

        (1)在构成联合查询的各个单独的查询中,列数和列的顺序必须匹配,数据类型必须兼容

        (2)ORDER BY子句和LIMIT子句必须置于最后一条SELECT语句之后

 

来源地址:https://blog.csdn.net/Gin_9_20/article/details/129928482

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯