时间:2021-05-23
1.基本查询语句
select 属性列表 from 表名和视图列表 [where 条件表达式1] [group by 属性名1 [having 条件表达式2]] [order by 属性名2 [asc|desc]]
2.单表查询
1)使用*查询所有字段
2) 查询指定字段
使用上面例子可以查询指定字段
3)查询指定记录
where 条件表达式
实例:
where 子句常用查询条件
比较:=、<、 <=、 >、 >=、 !=、 <>、 !>、 !<
指定范围 : between and、not between and
指定集合:in、not in
匹配字符: like、not like
是否为空值:is null 、is not null
多条件查询:and or
4)带in关键字的查询
in关键字可以判断某个字段的值是否在指定的集合中。
[not] in (元素1,元素2,...,元素n)
实例:
如果集合中的元素为字符时,需加上单引号。
5)带between and 的范围查询
[not] between 取值1 and 取值2
取值1为起始值,取值2为终止值
实例:
6)带like的字符串匹配查询
[not] like ‘字符串';
‘字符串'的值可以是完整的字符串,也可以是含百分号(%)或下滑线(_)的通配字符。
“% ”可以代表任意长度的字符串,长度可以是0。
“_”只能表示单个字符。
完整字符时like相当于“=”。
实例:
查询所有homeaddr字段中以“北京”
开头的记录。
查询所有name字段值长度为4,前两个字母为“ar”最后一个字母为“c”的记录。
统配的字符串可以用单引号或双引号。
通配符“”可以多次使用,如“赵 _”。
7)查询空置
is [not] null
实例:
查询work表info字段为空的记录。
8)and 和 or多条件查询
条件表达式1 and 条件表达式2 [...and 条件表达式n]
and 表示同时满足所有条件的记录会被查询出来,or表示只要满足其中一条的记录就会被查询出来。
9)查询结果不重复
select distinct 属性名
实例:
10) 查询结果排序
order by 属性名 [asc|desc]
默认asc排序。
如果遇到某个字段存在空值的记录,需要注意,空值排序时可以理解为该字段的最小值。
mysql中可以指定按多字段排序。
实例:
3.limit限制查询结果条数
1)不指定起始位置
limit 记录数
记录数超过查询结果则显示所有的记录,不会报错
2)指定起始位置
limit 起始位置 , 记录数
记录的起始位置从位置0开始。
2.使用集合函数查询
集合函数包括count(),sum(),avg(),max()和min()。
1)count()函数
统计记录条数
实例:
与group by一起使用
上述语句会先分组后统计。
2) sum()函数
sum()函数是求和函数
实例:
sum()只能计算数值类型字段。
3)avg()函数
avg()函数是求平均值函数。
实例:
4)max(),min()函数
求最大值和最小值。
实例:
对于字符串的最大值问题,max()函数是使用字符对应的ascii码进行计算的。
4.合并查询结果
使用union和union all关键字。
union将查询的结果合并到一起并去掉形同的记录,union all 只是简单地合并到一起。
select 语句1 union|union all
select 语句2 union|union all...
select 语句n;
PS:为表或字段起别名
表起别名语法:
表名 表的别名
字段起别名语法:
属性名 [as] 别名
as可有可无。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文介绍MySQL数据库中执行select查询语句,查询指定列的数据,即指定字段的数据。再来回顾一下SQL语句中的select语句的语法:Select语句的基本
上篇文章给大家介绍了Mysql带And关键字的多条件查询语句,下面给大家介绍MySql带OR关键字的多条件查询语句,感兴趣的朋友可以一起学习。MySQL带OR关
最近简单的对oracle,mysql,sqlserver2005的数据分页查询作了研究,把各自的查询的语句贴出来供大家学习.....(一)、mysql的分页查询
在MySQL查询语句过程和EXPLAIN语句基本概念及其优化中介绍了EXPLAIN语句,并举了一个慢查询例子:可以看到上述的查询需要检查1万多记录,并且使用了临
核心sql语句MySQL查询不包含数字的语句:SELECT*FROMtestWHERE`name`regexp'[^0-9]';MySQL查询纯数字的语句:SE