SQL:谓词

本文介绍了SQL中的谓词概念,主要用于判断是否存在满足特定条件的记录。重点讲解了LIKE谓词进行字符串部分一致查询,BETWEEN用于范围查询,IS NULL和IS NOT NULL处理NULL值,IN和NOT IN简化OR操作,以及EXISTS和LIMIT的使用。文中还探讨了如何使用子查询作为IN谓词的参数,以及在数据更新时保持代码的可维护性。
摘要由CSDN通过智能技术生成

比较运算符的正式名称是谓词,谓词的返回值都是真值(TRUE/FALSE/UNKNOWN)。
谓词的作用:“判断是否存在满足某种条件的记录”。如果存在这样的记录就返回真(TRUE),如果不存在就返回假(FALSE)

LIKE:字符串的部分一致查询

当需要进行字符串的部分一致查询时需要使用谓词LIKE。

-- 创建SampleLike表
CREATE TABLE SampleLike( 
	strcol VARCHAR(6) NOT NULL,
	PRIMARY KEY (strcol)
);

-- 插入数据
START TRANSACTION;

INSERT INTO SampleLike (strcol) VALUES ('abcddd');
INSERT INTO SampleLike (strcol) VALUES ('dddabc');
INSERT INTO SampleLike (strcol) VALUES ('abdddc');
INSERT INTO SampleLike (strcol) VALUES ('abcdd');
INSERT INTO SampleLike (strcol) VALUES ('ddabc');
INSERT INTO SampleLike (strcol) VALUES ('abddc');

COMMIT;

-- 确认表内容
SELECT * FROM SampleLike;


从该表中读取出包含字符串“ddd”的记录时,可能会得到前方一致、中间一致和后方一致等不同的结果。
1.前方一致:选取出“dddabc”
2.中间一致:选取出“abcddd”“dddabc”“abdddc”
3.后方一致:选取出“abcddd

-- 使用LIKE和%前方一致查询
-- %是代表“0字符以上的任意字符串”的特殊符号
SELECT * 
FROM SampleLike 
WHERE strcol LIKE 'ddd%';

-- 使用LIKE和%中间一致查询
SELECT *  
FROM SampleLike  
WHERE strcol LIKE '%ddd%'; 

-- 使用LIKE和%后方一致查询
SELECT *  
FROM SampleLike  
WHERE strcol LIKE '%ddd'; 

--  使用LIKE和_(下划线)进行后方一致查询
-- 下划线表示“任意1个字符”
SELECT * 
FROM SampleLike 
WHERE strcol LIKE 'abc__'; 

模式匹配:不使用“=”来指定条件字符串,而以字符串中是否包含该条件的规则为基础的查询。
模式:用于匹配的规则。

BETWEEN:范围查询

BETWEEN 的结果中包含两个临界值。如果不想让结果包含临界值,需要使用<>

-- 包含临界值:选取销售单价为100 ~ 1000元的商品
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值