MySQL 单表查询

查询数据表内数据

命令是SELECT * FROM table_name 

 数据表的去重查询

命令是SELECT DISTINCT field1,field2,…… FROM table_name 

数据表中使用限制条件查询(WHERE的作用)

使用限制条件,数据库可以包含如下功能: 

  • 带关系运算符和逻辑运算符的条件数据查询
  • 带BETWEEN AND 关键字的条件查询语句
  • 带IS NULL 关键字的条件查询语句
  • 带IN关键字的条件查询语句
  • 带LIKE关键字的条件查询语句

1、带关系运算符和逻辑运算符的条件数据查询 

2、带BETWEEN AND 关键字的条件查询语句

当同时给出两个或以上条件时,可用AND关键字连接查询条件。
如:SELECT field1 FROM table_name WHERE field2='value2' AND field2>value3;

需要查询取值范围区间可使用BETWEEN AND,语法格式如下:
SELECT field1 FROM table_name WHERE field2 [not] BETWEEN valuea AND valueb;

3.带IS NULL 关键字的条件查询语句

语法格式如下: 
SELECT field1 FROM table_name WHERE field2 IS [not] NULL;

4.带IN关键字的条件查询语句 

语法格式如下: SELECT field1 FROM table_name WHERE field2 [not] IN (value1,value2……valuen);

IN关键字可以用来匹配括号内任一值的查询条件

5.带LIKE关键字的条件查询语句 

用LIKE关键字查询时,需要和通配符一起使用,常用的通配符有“_”、"%":

“_”指匹配单个字符,例“_三”,“三”前面只能有一个字符,组合如“王三”、“李三”、“赵三”等; 

“%”可以匹配任意字符,例“%三”,组合如“王小三”、“王小小三”等。

数据表的单表查询

LIMIT 提取指定行 
ORDER BY(ASC/DESC)排序 (升序/降序) 
常用统计函数 (COUNT()计数 / AVG()平均数 / SUM()求和 / MAX()最大 / MIN()最小) 
GROUP BY 分组 
HAVING 对计算结果进行条件查询

LIMIT:

SELECT */field FROM table_name LIMIT (NUM)→ 提取NUM对应的数字(包含)前面的 数据

SELECT */field FROM table_name LIMIT (NUM 1,NUM 2)→ 提取从 NUM 1+1 开始 NUM 2的数据

例 SELECT * FROM Commodity LIMIT (4,10) 即 从Commodity 表中第五行开始 输出10行的数据

 ORDER BY: 

SELECT */field FROM table_name ORDER BY field/计算结果, ASC(不写时默认升序)/DESC(降序) ,将选中的数据按照指定的方式排列 

 常用统计函数: 

COUNT()函数:统计记录数 
AVG()函数:求平均值 
SUM()函数:求和 
MAX()函数:求最大数 
MIN()函数:求最小数 

聚合函数的优先级高于where,当聚合函数和where共存时,先计算聚合函数,where不能限制聚合函数的计算范围

COUNT()函数的两种实现方法:

  • COUNT(*) 对表中所有记录进行计数,包含null
  • COUNT(field) 进对选中字段 not null 的数据计数

若表中无数据,count()返回0,其他函数返回Null

  

GROUP BY: 

SELECT */field FROM table_name GROUP BY field,将选中的数据根据指定字段分组查询

 HAVING: 

MySQL中,要对分组查询结果进行条件限制查询,不能使用WHERE关键字,需要使用HAVING关键字 ,HAVING 与 WHERE一样是条件查询关键词,不同的是WHERE 仅针对源数据写条件,HAVING可以根据计算结果写条件

原文链接:https://blog.csdn.net/su_2018/article/details/83756950

原文地址:https://www.cnblogs.com/lvhuayan/p/15257157.html