MySql教程

mysql从入门到精通笔记-第九章 数据表查询

本文主要是介绍mysql从入门到精通笔记-第九章 数据表查询,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • 9.1 基本查询语句
  • 9.1.1 使用SELECT * 查询所有列
  • 9.1.2 使用SELECT C1,C2 查询一列或者多列
  • 9.1.3 从一个或者多个表中获取数据
  • 9.2 单表查询
    • 9.2.1查询所有
    • 9.2.2 指定字段
    • 9.2.3 其他关键字
    • 9.2.3.1 IN 和 NOT IN**
    • 9.2.3.4 [NOT] BETWEEN ... AND...**(闭区间)
    • 9.2.3.5 带有LIKE字符匹配查询
    • 9.2.3.6 AND
    • 9.2.3.7 OR
    • 9.2.3.8 DISTINCT为字段筛选去重
    • 9.2.3.9 ORDER BY 排序
    • 9.2.3.10 GROUP BY
    • 9.2.3.11 LIMIT
  • 9.3 聚合函数查询
    • 9.3.1 COUNT()函数
    • 9.3.2 SUM()函数
    • 9.3.3 AVG()函数
    • 9.3.4 MAX()函数 和 MIN()函数
  • 9.4 连接查询
    • 9.4.1 内连接查询
    • 9.4.2 外连接查询
    • 9.4.3 复合条件连接查询
  • 9.5 子查询
    • 9.5.1 关键字IN和NOT IN的子查询
    • 9.5.2 带比较运算符的子查询
    • 9.5.3 EXISTS关键字 的子查询
    • 9.5.3 ANY关键字 的子查询
    • 9.5.3 ALL关键字 的子查询
  • 9.6 合并查询结果
  • 9.7 定义表和字段的别名
    • 9.7.1 为表取别名
    • 9.7.1 为字段取别名
  • 9.8 使用正则表达式进行查询

9.1 基本查询语句

SELECT语句功能强大,语法结构如下:

SELECT 列1,列2
FROM 数据表1,数据表2
WHERE ... #查询条件
GROUP BY ...#分组条件
ORDER BY ...#查询结果排序
LIMIT ...#限制查询输出的条数

9.1.1 使用SELECT * 查询所有列

img

9.1.2 使用SELECT C1,C2 查询一列或者多列

img

9.1.3 从一个或者多个表中获取数据

img

9.2 单表查询

9.2.1查询所有

SELECT * FROM 表名;

9.2.2 指定字段

SELECT 字段1,字段2 FROM 表名;

9.2.3 其他关键字

9.2.3.1 IN 和 NOT IN**

img

9.2.3.4 [NOT] BETWEEN ... AND...**(闭区间)

img

9.2.3.5 带有LIKE字符匹配查询

通配符:

  • % 匹配一个或者多个字符,代表任意长度字符,长度可以为0;
  • _ 匹配一个字符,中文和英文、数字都是指的一个字符
    img

9.2.3.6 AND

img

9.2.3.7 OR

img

9.2.3.8 DISTINCT为字段筛选去重

img

9.2.3.9 ORDER BY 排序

  • ASC = ASCEND
  • DEC = DESCEND
    img

9.2.3.10 GROUP BY

GROUP BY 的用法和数据透视表类似,用户统计某个字段下的聚合的一些信息。
img
img

9.2.3.11 LIMIT

  • limit限制查询返回的记录的条数
  • 多参数,LIMIT M,N,其中M是编号注意是从0开始,N是要查询的个数。
    img

9.3 聚合函数查询

聚合函数,根据特定的计算方式,可以根据一组数据得出计算结果,如果存在有NULL的值,则不参与计算。

9.3.1 COUNT()函数

用于统计符合条件的值的个数。
img

增加自增字段
1)设置主键;2)设置自增;
img
img

9.3.2 SUM()函数

SUM函数用户计算莫格字段取值相加总和。
img

9.3.3 AVG()函数

img

9.3.4 MAX()函数 和 MIN()函数

img

9.4 连接查询

连接是把不同表的的记录连接到一起最普遍的方法。左连接返回包括左表中的所有记录和右表中连接字段相等的记录;右连接返回包括右表中的所有记录和左表中连接字段相等的记录;内连接只返回两个表中连接字段相等的行;全外连接返回左右表中所有的记录和左右表中连接字段相等的记录。

9.4.1 内连接查询

根据条件,返回相同的值的数据记录。
img
img

9.4.2 外连接查询

左连接和右连接,左连接 和 右连接,是指定以那个为基准,去查对应的数据,如果数据不存在,则为NULL。
左连接:先把usr_basic_info表放在左边,user_major放到右边,对应去查右边的数据,如果值右边就数据就为NULL;
有链接:先把user_major放到右边,对应去查usr_basic_info表中内容,如果没有数据内容,则为NULL;
img
img

9.4.3 复合条件连接查询

多条件的查询
img

9.5 子查询

SELECT 语句的嵌套,主查询语句使用附属查询语句返回值进行嵌套查询。

9.5.1 关键字IN和NOT IN的子查询

IN语句适合子查询语句返回的值是多个值的形式,可以使用IN。
img
img

9.5.2 带比较运算符的子查询

img

9.5.3 EXISTS关键字 的子查询

EXISTS子句返回一个TRUE或者FALSE的值,如果是TRUE则执行主句,如果是FALSE不执行主查询语句。
img
同样也可以使用NOT EXISTS

9.5.3 ANY关键字 的子查询

如果返回的值是一个列表或者单个值,主查询语句中的条件,只要返回的值中任意一个条件满足,则该条件满足。

SELECT * FROM t1 WHERE c1 > ANY(SELECT c2 WHERE ....)
如果字句返回来的值是一个列表[33,44,56,77],而C1的值为[1,3,5,34,88 99],则可以查询到[34,88,99]

img

9.5.3 ALL关键字 的子查询

和ANY类似,ALL关键字,要满足所有的条件,而不是任意的条件。
img

9.6 合并查询结果

将多个SELECT语句的结果合并显示出来,可以使用UNION 和 UNION ALL两个关键字,UNION合并会删除重复项,UNION ALL则会合并所有的结果。
img
img

9.7 定义表和字段的别名

9.7.1 为表取别名

img

9.7.1 为字段取别名

img

9.8 使用正则表达式进行查询

后续使用到后再补充。

这篇关于mysql从入门到精通笔记-第九章 数据表查询的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!