sql语句中select语句检索的过滤

3 篇文章 0 订阅
2 篇文章 0 订阅

限制结果:
1.distinct关键字 只返回不同的行,放在列名前,作用于查询的所有的列
select distinc 列名 from 表名
2.top 返回前多少行的数据
select top 5 列名 from 表名 返回前5的行
3.limit 5 offset 5 limit:返回多少行 offset 从第几行开始,默认是0开始,offset 1 是第二行
select 列名 from 表名 limit 3 offset 5 返回 从第5行开始的数据,返回3行

order by 排序:
desc:降序 只对前面列有作用
asc:升序
select 字段1 ,字段1,字段3 from 表名 order by 字段1 按字段1排序
select 字段1 ,字段1,字段3 from 表名 order by 字段1,字段2 先按字段1排序,再按字段2排序

过滤数据: where
在同时使用where和order 时,应该让order by 位于where之后,否则会产生错误
where的易混淆操作符:
1.判断null: is null
select 字段名 form 表名 where 字段名 is null
2. 不等于: != 与 <> 通常可以互换
select 字段名 form 表名 where 字段名<> ‘字段值’
select 字段名 form 表名 where 字段名!= ‘字段值’
3.between 范围值 低值和高值用and关键字分割
select 字段名 form 表名 where between 5 and 10

分割线----------------------高级过滤---------------------------------------------------------------------

//连接多个where
1.and
select 字段名1,字段名2 from 表名 where 字段名1=‘值’ and where 字段名2 <‘值’
2. or
select 字段名1,字段名2 from 表名 where 字段名1=‘值’ or where 字段名2 <‘值’
一般一行的数据满足条件1之后,就不会再再执行第二个条件
3.and和or

select 字段名1,字段名2,字段3 from 表名 (where 字段名1=‘值’ or where 字段名2 <‘值’) and 字段名3>=‘值’
由于and的优先级更高,因此必须用圆括号将or的两个条件明确分组,优先执行

//通配符过滤 需要结合like操作符使用 不同mysql可能会出现区分匹配的值的大小写
通配符只能搜索字符串的字段
like指示dbms,后面的搜索模式是利用通配符,不是简单的匹配比较
1.% 任何字符出现任意次数
select 字段名 from 表名 where 字段名 like ‘值%’ :
检索 以值开头的之后的任意字符,在where之后的字段中搜索
2._ 与%使用方式一样,但是只能匹配一个, 连续两个__代表2个字符

字符:一个英文、阿拉伯数字、标点符号都是一个字符 一个汉子占用2个字符
SELECT * FROM test WHERE NAME LIKE ‘___c’; 搜索name字段中c之前 2个字符
SELECT * FROM test WHERE NAME LIKE ‘__c’; 搜索name字段中c之前1个字符
3.[]

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值