SQL多条件模糊查询、IN 、自定义函数笔记(一)「终于解决」

SQL多条件模糊查询、IN 、自定义函数笔记(一)「终于解决」在工作中遇到的一些关于Sql查询的问题整理记录,实现环境 SQLService 2014 一、对同一个字段,多个关键词的查询几种实现方式 基本语法: SELECT column_name(s) FRO

SQL多条件模糊查询、IN 、自定义函数笔记(一)

在工作中遇到的一些关于Sql查询的问题整理记录,实现环境 SQLService 2014

一、对同一个字段,多个关键词的查询几种实现方式

基本语法:

SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern

代码100分

案例表(TbUser):

Id LastName FirstName
1 Adams John
2 Bush George
3 Carter Thomas

 

查询语句实现:

1、单个关键词模糊查询

        SELECT * FROM TbUser WHERE  LastName LIKE “%d%”   

2、多个关键词查询

        实现一:SELECT * 

FROM TbUser

WHERE LastName like “%d%”   or   LastName LIKE “%e%”   or   LastName LIKE “%d%”  

 

实现二:SELECT TbUser.LastName,temp.m

FROMTbUser,(values(“%a%”),(“%b%”),(“%c%”)) as temp(m)

FROM TbUser.LastName LIKE temp.m

 

实现三: SELECT LastName 

FROM TbUser 

WHERE LastName LIKE any(array[“%a%”,”%b%”,”%e%”])

 

实现四:SELECT LastName  

FROM TbUser  

WHERE LastName LIKE  “%[a|b|e]%’

 

二、sql中In关键词的变相实现

当匹配数据数据比较多的时候,In需要逐一比对,效率低下,构造LEFT JOIN 结构会比较大的提高效率。

语法:

代码100分SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)

 实现一:

SELECT *

FROM TbUser

WHERE Id in (1,2,3,4)

 

实现二、 

SELECT  x FROM TbUser  u

LEFT JOIN  TbDetails as d on u.Id=d.FkUserId

 WHERE d.FkUserId is not null

 

实现三:

如果又一个数组需要进行In查询,可以如下实现,构造临时表进行Inner join 查询

SELECT u.*

FROM bUser  u

INNER JOIN ( VALUES(“a”),(“b”),(“c”),(“d”),(“e”) ) as  temp(m) ON u.LastName=temp.m

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9281.html

(0)
上一篇 2023-02-11
下一篇 2023-02-11

相关推荐

  • Python的str.join方法:高效拼接字符串

    Python的str.join方法:高效拼接字符串在编写代码过程中,字符串拼接非常常见。有时候我们需要将列表中的元素拼接成字符串,有时候则需要将多个字符串拼接在一起。这时候就需要用到Python中的str.join方法。

    2024-03-23
    81
  • MySql笔记(二)[通俗易懂]

    MySql笔记(二)[通俗易懂]一幅画,一次瞬间的回眸,就在那次画展上,那个眼神,温柔的流转,还是那干净的皮鞋,一尘不染,俊朗的眉宇性感的唇,悄悄走近,牵手一段浪漫 [toc] MySQL笔记(二) 13、条件查询 1.普通条件查询

    2023-01-23
    149
  • 同是5G旗舰手机 小米10和荣耀V30哪个值得入手?

    同是5G旗舰手机 小米10和荣耀V30哪个值得入手?     前一段,小米高管卢伟冰曾发表言论说荣耀销量下滑70%,然而近日荣耀V30却荣登销量冠军狠狠打了小米高管的脸,这让科技圈又变得热闹起来。小米10和荣耀V30哪个好一直以来网友们便争论不休,今…

    2023-02-06
    158
  • influxdb-cluster安装部署「终于解决」

    influxdb-cluster安装部署「终于解决」参考资料 Influx Proxy 是一个基于高可用、一致性哈希的 InfluxDB 集群代理服务,实现了 InfluxDB 高可用集群的部署方案,具有动态扩/缩容、故障恢复、数据同步等能力。 相关…

    2023-04-08
    147
  • 【赵强老师】Redis案例分析:用setbit统计活跃用户

    【赵强老师】Redis案例分析:用setbit统计活跃用户一、需求背景 首先,我们来看一下需求:网站统计用户登录的次数,具体如下: 网站有1亿个用户,有经常登录的,也有不经常登录的 如何来记录用户的登录信息 如何查询活跃用户:比如:一周内,登录3次的 二、使

    2023-02-16
    157
  • SQL查询语句的执行顺序解析[通俗易懂]

    SQL查询语句的执行顺序解析[通俗易懂]SQL语句执行顺序 结合上图,整理出如下伪SQL查询语句。 从这个顺序中我们可以发现,所有的查询语句都是从 FROM 开始执行的。在实际执行过程中,每个步骤都会为下一个步骤生成一个虚拟表,这个虚拟表…

    2022-12-15
    144
  • Python中ndarray如何转换为list?

    Python中ndarray如何转换为list?在Python中,ndarray是用于存储多维数组的对象。 在机器学习、数据分析等领域中,使用ndarray非常普遍。 然而,有时需要将ndarray转换为列表。 这篇文章将介绍Python中如何将ndarray转换为list。

    2024-04-30
    62
  • MongoDB学习笔记:副本集[通俗易懂]

    MongoDB学习笔记:副本集[通俗易懂]本文更新于2022-01-08,使用MongoDB 4.4.5。 单台服务器下创建副本集 确保/data/db目录存在且当前系统用户有读写权限。例如(需根据实际情况设置权限): su root mkd

    2023-05-05
    137

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注