sql查询中的包含【被包含】、模糊查询

在mysql中提供了like的关键词可用于模糊查询,也可理解为某些指定字段包含在表中的的查询

select count(*) from mysqlb_client where name like '%庆农%';

可查询出在name字段下所有包含‘庆农’字样的记录;

还有一种情况是我们查询的表中的字段被包含在我们指定的条件中,

第一种方式我们可以使用关键词 IN,配合where条件查询:

select count(*) from mysqlb_client where name in('重庆农商行','大庆银行');

还可以使用关键字 or实现【此处不考虑优化】

select count(*) from mysqlb_client where name ='重庆农商行'or name = '大庆银行';

这种情况适用于指定条件是一个类似元组的结构时,且我们的字段值必须完全匹配条件in后的某个值才可查询出,但当我们指定的条件时字符串时,就不能正确的查询了,此时可以使用另一个关键字 CONCAT 配合where和like查询【该方法在hive数仓中进行了测试,无误】

select * from mysqlb_client where "重庆农商行得了女方" like CONCAT(%,name,%);

还有些帖子中有讲到使用CHARINDEX,但本人无论在MySQL还是hive中都识别不了。

你可能感兴趣的:(sql)