sql 查询语句笔记(偶尔更新)

自学 sql 网站

www.xuesql.cn/
www.w3school.com.cn/
自带sql语句库,语句解析
此文章是在里面的练习答案和个人笔记 (偶尔更新)

模糊查询(like)

like
like 是用来模糊查询使用的,如果没有使用通配符的话,那效果和 = 一样
通配符 % 匹配零或多个字符
通配符 _ 匹配一个字符
通配符在查询条件的前后面都可以使用

条件查询 (and,between,or,in)

and
and 是并且的意思,需要满足多个条件才可以查询出来

select * from 表名 where  id = 1 and uid =3   
  查询 id 等于1并且 uid 等于3的数据

between
between 是之间的意思,在条件范围内的数据都查询出来

select * from 表名 where id between  id  1 and 3   
  查询 id 1到3 之间的的数据,包含 1和3
select * from 表名 where id not between id  1 and 3   
  查询 id 1到3 之间的的数据,包含 1和3

or
or 是或者的意思,满足一条条件就可以查询出来,这点和and的效果相反

select * from 表名  where  id = 1 or  id = 2; 
  查询id等于 1 或者等于 2 的数据库

in
1、in 是等于的意思,可以想成=号的意思,但筛选的条件需要使用()括起来,in主要用于多表查询
2、多表查询的时候,会先执行()括起来的sql,反馈结果显示的是两个表都符合()里面的sql查询条件的数据

select * from 表名 where id in (1,)
  查询将id等于1的数据
select * from 表名 where id in (1,2,3)
 查询id等于1,2,3的三条数据,效果和 or 类似
select * from 表名 where id  not in (1,2,3)
 查询 id 不等于1,2,3的三条数据,效果和 != 类似
select * from 1表名 where uid in (select * from 2表名 where id=1)
  查询的结果显示的是1表uid为1和2表id为1的数据

查询是否空值(is null , is not null)

is null
is null 查询结果可以为空的

selete  *  from  表名 where  字段 is null

is not null
is not null 查询结果去掉空值

selete *  from  表名  where  字段  is  not null

统计(count)

count
count 有使用方式
表里只有一个字段count(*)会执行的快一些,多字段count(1)执行快一些
1、count(*) 会统计表中的所有的记录数, 包含字段为null 的记录
2、count(1) 会统计表中的所有的记录数, 包含字段为null 的记录
3、count(字段) 会统计该字段在表中出现的次数,忽略字段为null 的情况。即 不统计字段为null 的记录

select  count(查询条件)  from  表名
  查询有多少行数据

排序(limit,order by )

limit
limit是范围的意思

select * from 表名 limit 5
  查询这个表的前五条数据

order by
order是顺序的意思
asc是升序默认
desc是降序

select * from 表名  order by  字段   asc/desc

去重(distinct,group by)

distinct
distinct是不同的意思

select  distinct 字段,字段。。。。  from  表名

group by
group是集合的意思,将同样的数据放在一个集合里,也有去重是效果

select  字段   from   表名    group by 字段   

聚合后查询(having)

having有,拥有的意思
由于where无法于合计函数一起使用,可以用having代替使用

SELECT 字段1,COUNT(字段1) AS 假名 FROM 表名  GROUP BY 字段1 HAVING(COUNT(字段1)>1)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值