常用sql语句--DQL

时间:2021-12-07 02:39:33

数据查询语言

 

关键字 select

 

where 条件

 

order by 排序
asc(升序)、desc(降序)

排序语法:order by 字段1 [asc]|desc [,字段2 [asc]|desc,....]

 

MySQL中中文排序规则
注意:在utf—8编码集下排序并不是按照中文拼音进行排序,需要改为GBK编码集

修改为按照拼音排序方法:

SELECT * FROM teachers ORDER BY CONVERT(tName USING GBK),tage DESC;

 

 

limit

取前多少条-limit
limit语法:limit m[,n]
说明: 当limit后只有M一个数字是时,表示在结果集中取前m条数据
当limit后有两个数字时,表是在结果集中从M 1开始取n条数据
例子:

SELECT * FROM teachers ORDER BY tage DESC LIMIT 2;

取前面两条

SELECT * FROM teachers ORDER BY tage DESC LIMIT 1,1;

从第二条开始取一条

 

使用limit分页

limit (页码-1)*每页显示信息数,每页显示信息数

SELECT * FROM ta ORDER BY id DESC LIMIT 0,2;

第一页信息,每页两条数据

SELECT * FROM ta ORDER BY id DESC LIMIT 1,2;

第二页信息,每页两条数据

 

 

聚合函数

max():最大值
min():最小值
avg():平均值
sum():求和
count():求数目(符合条件的数据的数量)
注意:

#聚合函数不能嵌套使用

#对于聚合函数:空值(null)不参与统计计算

 

例:

SELECT COUNT(*) FROM elogs

count()括号里可以跟星号,主键字段,数字1。但是建议跟主键字段

统计elogs表有多少条记录

 

错例:
SELECT COUNT(tage),tage FROM teachers;-- 在普通sql语句中不允许这样书写(count()返回一条数据,而tage代表一列数据)

 

 

去重--distinct

用法实例:

去除cid重复的记录再统计条数

SELECT COUNT(DISTINCT cid) FROM elogs

 

 

合并结果集--union

注意:默认情况下对重复值去重,如不想去重,则需要在其后加ALL
SELECT sname FROM students
UNION
SELECT tname FROM teachers;

 

 

(表或列)重命名

方式1:oldname as newname
方式2:oldname newname

SELECT COUNT(*) AS ‘学生人数‘ FROM students

SELECT COUNT(*) ‘学生人数‘ FROM students