mysql all select_mysql select 语法

格式:select [选项子句] 字段表达式子句 [from子句] [where子句] [group by子句] [having子句] [order by子句] [limit子句];

提示:子句的顺序是固定的

select 选项子句 [ all | distinct ]

这个参数主要影响查询结果是否包含重复记录

All:代表保留所有的记录,这个默认选项,可以省略不写

Distinct:代表去除重复的记录

格式:select all|distinct 字段表达式 from...;

from子句

格式:from 数据表

FROM子句用于指定要查询使用的数据源

数据表可以有多个,中间用逗号分开,数据表也可以起别名

如果数据源是两个表时,结果会是一个交叉连接的方式,记录数相当于笛卡尔积

两个表的数据总和=表1的记录数*表2的记录数

写*时,字段名总数是两个表的字段数量的和

数据表也可以起别名,还可以加条件

WHERE子句

功能是进行数据的筛选过滤。

格式:where 条件表达式

条件表达式使用关系运算符和逻辑运算符

关系运算符

> 大于

< 小于

>= 大于等于

<= 小于等于

!= 不等于

<> 不等于

= 等于

逻辑运算符

&&  and 与

||   or  或

!   not  非

Xor  异或

运算符存在优先级的问题

在where子句中不能使用字段的别名

GROUP BY子句

主要用于分组。通常在字段表达式中使用分组函数。

格式:group by 字段1 [asc|desc], 字段2 [asc|desc], ……

排序不写默认是asc正序

使用count(*)和count(字段名)时,注意字段的值为null的问题

count(字段名)统计时,会把值为null的记录忽略掉!

HAVING子句

它用于对查询出来的结果进行再次的过滤。

比较显著的就是如对分组查询出来的结果再次使用条件。

省略where和group by子句时,不等于having就是where

不能把where放到having的位置

ORDER BY子句

主要用于对数据进行排序。

格式:order by字段1 [asc|desc],字段2 [asc|desc], ……

Asc代表正序,它是默认选项,不写就是asc

Desc代表倒序

当用一个字段做排序时,如果出现针对排序字段相同的记录时,会隐含去使用主键进行第二排序

LIMIT子句

这个子句是做分页的。

格式:limit起始记录位置,记录数

注意:如果省略起始记录位置,只给出记录数,表示从第一条数据开始取内容

Limit 10相当于limit 0, 10

提示:记录的位置是从0开始计算的

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值