SQL学习笔记-多条件查询(in)和模糊查询(like)

多个条件的匹配

传统的or操作符

SELECT * FROM goods  WHERE company="公司A" OR company="公司B" OR company="公司C";

使用in解决问题

SELECT * FROM goods  WHERE company IN ("公司A","公司C");

操作符in的主流用法

在in表达式中使用算术表达式

SELECT name,price FROM goods  WHERE price IN (5*9);

将列作为in的选项值

SELECT * FROM goods  WHERE 60 IN (price,reserve);

使用not in查询不满足多个条件的数据

SELECT * FROM goods  
WHERE 60 NOT IN (price,reserve);
SELECT * FROM goods WHERE reserve NOT IN (20,60,100);

 查询指定行的信息

输入以下代码报错:

SELECT * FROM goods  
WHERE id NOT IN (SELECT  id from  goods LIMIT 2);

like操作符-使用通配符实现模糊查询

通配符%

%表示由零个或多个字符组成的任意字符串。

商%表示商开头的模糊查询,%商表示商结尾的,%商%表示任何位置的。

SELECT name,price,reserve FROM goods  
WHERE name LIKE "商%";

通配符_

可以指定字符个数

SELECT name,price,reserve FROM goods  WHERE name LIKE "商__";

通配符[],mysql不支持

SELECT name,price,reserve FROM goods  WHERE name LIKE '[商 品]%';/*商或品开头 */
SELECT name,price,reserve FROM goods  WHERE name LIKE '%[商 7]';/*商或7结尾 */
SELECT name,price,reserve FROM goods  WHERE price LIKE '%[5-7]';/*5或7结尾 */
SELECT name,price,reserve FROM goods  WHERE name LIKE '[a-z]%';/*a或z开头 */

 通配符[^]

SELECT name,price,reserve FROM goods  WHERE name LIKE '[^商 品]%';/*查询不是商或品开头 */
SELECT name,price,reserve FROM goods  WHERE name LIKE '%[^商 7]';/*查询不是商或7结尾 */
SELECT name,price,reserve FROM goods  WHERE price LIKE '%[^5-7]';/*查询不是5或7结尾 */
SELECT name,price,reserve FROM goods  WHERE name LIKE '[^a-z]%';/*查询不是a或z开头 */

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值