MySQL-查询语句

来源:互联网 发布:网络彩票属于赌博吗 编辑:程序博客网 时间:2024/06/05 20:02

一.查询语句之简单查询语句

select * from t_name; 查询表中所有字段

select distinct field from t_name; distinct关键字去掉了查询结果中的重复部分

select sal*12 from t_name; 可以在查询语句中运用(+ - * / %)等数学运算,sal为某一字段名

select field as otherfield from t_name; 关键字as可以将字段的名字显示为新的名字,方便阅读

二.查询语句之条件查询语句(where)

条件查询的语法:select field1-n from t_name where condition

1.带关系运算符和逻辑运算符的条件查询

>    <     =  <>  >=  <=             and   or  xor  not 

eg:select ename from t-name where job='clerk'; 单条件查询

select ename from t_name where iob='clerk' and sal > 800;多条件查询,MySQL中关键字,各种标示符和数据记录都不区分大小写

2.带between and 关键字的条件查询

select field1-n from t_name where field between value1 and value2;范围内

select field1-n from t_name where field not between value1 and value2; 范围外

3.带is null 关键字的条件查询

select field1-n from t_name where field is null;通过关键字is null来判断field字段的只为空,如果为空,则满足条件,会被查询出来。

4.带in 关键字的条件查询(集合查询)

select field1-n from t_name where field in (value1-n);

注意:当使用关键字in时,在查询的集合中如果存在null,不影响查询结果。当使用关键字 not in 时,在查询的结果中如果存在null,则什么结果页查询不出来。

三.查询语句之模糊查询

带有like关键字的模糊查询:在条件查询中,如果需要查询条件中的某一部分内容时,需要通过通配符来实现模糊查询。所谓通配符,主要用来实现匹配部分值得特殊字符。

具体语法:select field1-n from t_name where field like value;在此语句中,value表示所匹配的字符串值,通过关键字like来判断字段field的值是否与value相匹配。

like关键字所支持的通配符:“_"通配符,该通配符值能匹配单个字符,“%”通配符,该通配符可以匹配任意长度的字符串,既可以是0个字符,亦可以是n个字符。

1.带有“%”通配符的查询语句:select ename from t_name where ename like 'A%';此语句可以查询以字母A开头的任意长度的字符串

2.带有“_"通配符的查询语句:select ename from t_name where ename like '_A%';此语句可以查询第二个字母为A的任意长度字符串

3.同上面的条件查询关键字一样,like模糊查询一样有对应的 not like 关键字,但是很复杂。

四.查询语句之排序数据记录查询

在MySQL中采用关键字order by 来实现排序数据记录,具体语法:select field1-n from t_name where condition order by field asc/desc;语句中,asc表示按升序排列,desc表示按降序排列。

在MySQL中,order by 关键字默认采用按升序排列,不注明asc/desc的话就为默认。

五.查询语句之限制数据记录查询数量

关键字limit可以限制数据查询数量,具体语法:select field1-n from t_name where condition limit offset_start, row_count; offset_start表示数据记录的起始偏移量,row_count表示显示行数。可以不指定起始偏移量,此时从第0条记录开始显示。limit关键字经常被用在分页系统中。

六.查询语句之统计函数

1.count() 该函数实现统计表中的记录条数。count(*) 可以对表中的数据进行统计,不管本字段中的包含的是null还是非null值。count(field) 可以对指定字段的记录进行统计,在具体统计时会忽略null的记录,但是并不会忽略值为0的记录。

2.avg() 该函数用来统计计算特定字段值的和,然后求取该字段的平均值。avg(field) 实现对括号中是字段的平均值的计算,计算时忽略null的值。

3.sum() 该函数用来统计数据记录计算求和,sum(field) 计算指定字段之和,在具体统计师忽略null值。

4.max(field)和min(field) 用来计算指定字段值中的最大值和最小值。

5.关于使用统计函数注意点: 对于所需要操作的表中没有任何记录,count()返回数据0,其余函数返回null。

七.查询语句之分组查询

1.简单分组查询,分组通过SQL语句group by来实现,语法形式:select function() from t_name where condition group by field;在具体进行分组时,分组所依据的字段一定要有重复值,否则,分组没有意义。

2.实现统计功能分组查询,group by单独使用时,默认显示每个分组中的随机一条记录,具有很大的不确定性。所以group by 通常与函数group_concat()一起使用。该函数可以显示每个分组中的指定字段值。语法形式:select group_concat(field) from  t_name where condition group by field;此语句可以显示分组字段中的指定字段的值。

3.多个字段分组查询,在使用group by 时候,其子句还可以是多个字段,即按多个字段进行分组。语法形式:select function() from t_name where condition group by field1-n;

4.利用having子句限定分组查询,语法形式为:select function() from t_name where condition group by field1-n having condition; where关键字用来实现条件限制数据记录,而having子句用来实现限制分组数据记录,即指定分组之后的条件。


0 0
原创粉丝点击