MySQL(二)查询语句

查询语句

目录:
• 基本的SELECT语句
• 过滤和排序数据
• 分组函数和分组查询
• 多表查询
• 分页查询


基本预备知识:

注意:

• SQL 语言大小写不敏感。
• SQL 可以写在一行或者多行
• 关键字不能被缩写也不能分行
• 各子句一般要分行写。
• 使用缩进提高语句的可读性。

列的别名

紧跟列名,也可以在列名和别名之间加入关键字‘AS’,别名使用双引号,以便在别名中包含空格或特殊的字符并区分大小写。
在这里插入图片描述

字符串

日期和字符只能在单引号中出现。

显示表结构

使用 DESCRIBE 命令,表示表结构
如:DESCRIBE employees;

比较运算

一般有:
=(判断等于)、>、>=、<、<=、<>或!=(判断不等于)
【赋值使用:=符号】
其他比较运算:
在这里插入图片描述

1)BETWEEN…AND…

在这里插入图片描述

2)IN(set)

在这里插入图片描述

3)LIKE
  • 使用 LIKE 运算选择类似的值
  • 选择条件可以包含字符或数字:
    – % 代表零个或多个字符(任意个字符)。
    – _ 代表一个字符。
  • ‘%’和‘-’可以同时使用。
    在这里插入图片描述
    筛选出第二个字符是’o’的字符串:
    在这里插入图片描述
4)IS NULL

在这里插入图片描述

逻辑运算

1)AND 逻辑并

在这里插入图片描述

2)OR 逻辑或

在这里插入图片描述

3)NOT 逻辑否

在这里插入图片描述


1.基本SELECT语句

语法:
SELECT *|{[DISTINCT] column|expression [alias],…}
FROM table;
• SELECT 标识选择哪些列。
• FROM 标识从哪个表中选择。

*选择全部列
在这里插入图片描述
选择特定的列
在这里插入图片描述

2.过滤和排序语句

• 使用WHERE子句来过滤,紧随FROM子句。
例如:在这里插入图片描述
• 使用 ORDER BY 子句排序
– ASC(ascend): 升序
– DESC(descend): 降序
ORDER BY 子句在SELECT语句的结尾。
例如:
在这里插入图片描述
在这里插入图片描述
可以使用多个列排序

3.分组函数和分组查询

分组函数作用于一组数据,并对一组数据返回一个值。
• AVG()
• COUNT()
COUNT(expr) 返回expr不为空的记录总数。
• MAX()
• MIN()
• SUM()
语法:
在这里插入图片描述

GROUP BY 子句语法
  • 可以使用GROUP BY子句将表中的数据分成若干组。

在SELECT 列表中所有未包含在组函数中的列都应该包含在 GROUP BY 子句中:
在这里插入图片描述
包含在 GROUP BY 子句中的列不必包含在SELECT 列表中:
在这里插入图片描述

过滤分组: HAVING 子句

条件:

  • 行已经被分组。
  • 使用了组函数。
  • 满足HAVING 子句中条件的分组将被显示。

语法:在这里插入图片描述
例如:在这里插入图片描述

4.多表查询

  • MySQL连接
    在这里插入图片描述
  • 等值连接
    在这里插入图片描述
  • 使用ON子句创建连接
    • 自然连接中是以具有相同名字的列为连接条件的。
    • 可以使用 ON 子句指定额外的连接条件。
    • 这个连接条件是与其它条件分开的。
    • ON 子句使语句具有更高的易读性。

Join连接
• 分类:
– 内连接 [inner] join on
– 外连接
• 左外连接 left [outer] join on
• 右外连接 right [outer] join on
在这里插入图片描述

5.分页查询

语法:select * from foo limit offset,rows
换算后即select * from table limit (start-1)*pageSize,pageSize
其中start是页码,pageSize是每页显示的条数。

例如:select * from foo limit 100,200
100是指偏移,200是指查询条数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值