MySQL查询总结

基础查询:
1.select 列名
from 表名
where 筛选条件

2.as //取名
3.distinct  //去重 格式:select distinct 字段名 from
4.all  //查看所有,默认的,不写就默认all
5.逻辑符:
	AND和&&  //逻辑与,同时为真,结果才为真
	or和||   //逻辑或,只要一个为真,则结果为真
	not和!   //逻辑非,若操作数为假,结果则为真
6.比较操作符:
	is null   // 格式:a is null   若操作符为NULL,则结果为真
	is not null  // 格式: a is not null  若操作符不为NULL,则结果为真
	范围查询:between  and   //  格式:a between b and c   若a范围在b与c之间则结果为真
	模糊查询:like //格式:a like b   SQL模式匹配,若a匹配b,则结果为真
					//在where子句中使用
					//与 % 使用,如:select 字段名 from 表名 where 字段名 like '%在%'
					  意思是查看列中含有 '在' 的值,% 表示匹配0或任意多个字符
					//与 _ 使用,如:select 字段名 from 表名 where 字段名 like '在__'
					  意思是查看列中叫 '在'的某某  _ 表示匹配单个字符
	in()  //格式:a IN (a1,a2,a3,….)  若a等于a1,a2…中的某一个,则结果为真
			//如:select 字段名 from 表名 where 字段名 in(值1,值2) 
			 意思是查询列中值1,值2
	null空值条件查询:需使用is null 和 is not null  比较操作。 

条件查询:
排序查询:
order by asc升序 desc降序
//格式:select 列名
from 表名
where 筛选条件
order by 要排的字段 asc;

2.limit 语句用法
limit m,n 或者 limit n offset m
//返回的是几行到几行
m 制定第一个返回记录行的偏移量
n 制定返回记录行的最大数目

常见函数查询:
放在 select 字段后面
count() 和 count(1) 一样效果 //返回满足SELECT条件的记录总和数,如 SELECT COUNT()…
sum() 总和
avg() 平均
max() 最大
min() 最小

系统函数 length
数学函数:
abs() sqrt(a) power(x,y) floor(a) ceil(a) truncate(a) round(a,i)
字符串函数:
trim(a)
substring(a,i,length) //截取
insert(a,x,y,b) //
concat(a…)
日期函数:
now()
year()
month()
date()
unix_timestamp()
from_unixtime()
datediff()
date_add()
date_format()
系统信息函数:
version()
统计函数:
count(*)
count(1)
count(列名)

分组函数:
group by //使用GROUP BY关键字对查询结果分组
//对所有的数据进行分组统计
//分组的依据字段可以有多个,并依次分组
//与 having 结合使用,进行分组后的数据筛选
//格式:select 字段名
from 表
where 筛选条件
group by 指定结果按照哪几个字段来分组
having 过滤分组的记录必须满足的次要条件

分组查询:
连接查询:
1.内连接 (inner join):
格式: select 字段1,字段2
from 表1
inner join 关联的表2 on 表1.字段=表2.字段
//如果表1和表2没有关联的值就不返回值
非等值连接查询:select 字段1,字段2
from 表1,表2
//结果为两个列行数相乘个
等值连接查询:select 字段1,字段2
from 表1,表2
where 表1.字段1=表2.字段2
//等效于内连接
自连接:select a.字段1, b.字段2
from 表1 as a, 表1 as b
where a.字段3=b.字段4
2.外连接(out join):
左连接:从左 表1 中返回所有的记录,即便在右 表2 中没有匹配都行
select 字段1,字段2
from 表1
left join 表2 on 表1.字段A=表2.字段B
右连接:从左 表1 中返回所有的记录,即便在右 表2 中没有匹配都行
select 字段1,字段2
from 表1
left join 表2 on 表1.字段A=表2.字段B

子查询:
在查询语句中的 where 条件子句中,又嵌套了另外一个查询语句
select 字段名
from 表名
where (select
from 表名
where 筛选条件) = 条件

分页查询:
inner join // 如果表中有至少一个匹配,则返回行
left join // 不论右表是否有匹配,都会返回左表的所有行
right join // 不论左表是否有匹配,都会返回右表的所有行
union联合查询:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值