mysql-sql语句-DQL语句

一、DQL-基本查询

1、查询多个字段

Select 字段1,字段2,… from 表名;

Select * from 表名;

2、设置别名

Select 字段1 【as 别名1】,字段2 【as 别名2】… ; from 表名;

3、去除重复记录

Select distinct 字段列表 from 表名;

二、DQL-条件查询

1、语法:

select 字段列表 from 表名 where 条件列表

2、条件:

(1)比较运算符:

>:大于

>= :大于等于

< :小于

<= :小于等于

= :等于

<>或!= : 不等于

Between … and … :含最小、最大值

In(…) :在in之后的列表中的值,多选一

Like 占位符:模糊匹配(_匹配单个字符, %匹配多个字符)

Is NULL :匹配NULL值

(2)逻辑运算符:

And 或 && :并且(多个条件同时成立)

Or或 || :或者(多个条件任意一个成立)

Not 或 | :非,不是

三、DQL-聚合函数

1、语法:

Select 聚合函数(字段列表) from 表名;

2、常见的聚合函数:

Count :统计数量

Max :最大值

Min :最小值

Avg :平均值

Sum :求和

3、注意:

null值不参与所有聚合函数运算

四、DQL-分组查询、

1、语法

Select 字段列表 from 【where 条件】 group by 分组字段名 【having 分组后过滤条件】;

2、where与having的区别

(1)执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行你过滤

(2)判断条件不同:where不能对聚合函数进行判断,而having可以

3、注意事项:

(1)执行顺序:where > 聚合函数 > having

(2)分组之后,查询的字符一般为聚合函数和分组字段,查询其他字段无任何意义

五、DQL-排序查询

1、语法

Select 字段列表 from 表名 order by 字段1 排序顺序1 ,字段2 排序顺序2,字段… 排序顺序…;

2、排序方式

  1. asc:升序(默认值)
  2. desc:降序

3、注意

如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序

六、DQL-分页查询

1、语法

Select 字段列表 from 表名 linit 起始索引,查询记录数;

2、注意

(1)起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数

(2)分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中的是limit

(3)如果查询的是第一页的数据,起始索引可以省略,查询简写为limit 10

七、DQL-执行顺序

一般来说,

DQL语句的编写顺序为select到from到where到group by到having到order by到linit

DQL语句的执行顺序为from到where到group by到having到select到order by到limit

你可能感兴趣的:(MySQL,数据库,sql)