MYSQL(基础篇)-常用语句

常用语句

select

  • 检索数据
  • select * from table_name
distinct
  • 检索时只返回不同的行
  • 应用于所有列而不仅仅是所有列
  • select distinct attr_name1, attr_name2 from table_name
limit
  • 限制返回的行数
  • select * from table_name limit 5 : 返回不多余五行,取结果前五行
  • select * from table_name limit 2,5 : 从第二行开始,取结果的五行
  • sql5中新的语法中增加了offset
  • select * from table_name limit 5 offset 2 : 从第行开始,取结果的五行
order by (desc 降序,asc 升序默认)
  • 对检索列进行排序
  • select * from table_name order by attr_name:对attr_name列进行升序排序
  • 增加 desc 进行降序排列
  • select * from table_name order by attr_name1 desc, attr_name2:对attr_name1列进行降序排序对attr_name2升序排序,以attr_name1为主,attr_name2为辅
where
  • 过滤数据,基于行,对分组进行过滤使用having
  • select * from table_name where attr_name = “”
  • 常用操作符
操作符说明
=
!=不等于
<>不等于
<=
>
>=
between and在指定的两个值之间
IS NULL空值查询
and,or,not,in
like
  • 通配符
regexp
  • 正则
子查询
as
  • 重命名
数据处理函数
group by
  • 分组允许把数据分为多个逻辑组,以便能对每个组进行聚集计算
  • select attr_name, count(*) as nums from table_name group by attr_name: 统计每个attr_name 存在多少
having
  • 用于过滤分组,where过滤行而不是分组,having用于过滤分组
  • HAVING支持所有WHERE操作符
  • HAVING和WHERE的差别 这里有另一种理解方法,WHERE在数据分组前进行过滤,HAVING在数据分组后进行过滤。这是一个重要的区别,WHERE排除的行不包括在分组中。这可能会改变计算值,从而影响HAVING子句中基于这些值过滤掉的分组
  • select attr_name, count(*) as nums from table_name group by attr_name attr_name = 1000
  • order by , group by
order bygroup by
排序产生的输出分组行。但输出可能不是分组的顺序
任意列都可以使用(甚至非选择的列也可以使用)只可能使用选择列或表达式列,而且必须使用每个选择列表达式
不一定需要如果与聚集函数一起使用列(或表达式),则必须使用
  • 不要忘记ORDER BY 一般在使用GROUP BY子句时,应该也给出ORDER BY子句。这是保证数据正确排序的唯一方法。千万不要仅依赖GROUP BY排序数据
select 子句顺序
子句说明是否必须使用
select要返回的列或表达式Y
from从中检索数据的表仅在从表中选择数据时使用
where行级过滤N
group by分组说明仅在按组计算聚集时使用
having组级过滤N
order by输出排序顺序N
limit要检索的行数N
联结表
inner join 等值连结(内部联结)
  • inner join
  • 自联结
  • 自然联结
outer join (外部联结)
  • (left, right) outer join
UNION
  • 组合查询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值