sql语句like多个条件的写法实例
表A
no name
1 lu,li,zhang
2 zhou,wei,liu
3 li,fang
表B
no name sex
1 li 1
2 lu 0
3 zhou 0
4 zhang 1
select * from A where A.name like (select B.name from B where B.sex=1)
----------------------------------------------------------------------------------------------------------------------------
sqlserver写法
代码如下:
select distinct a.no,a.name from a,b where charindex(b.name,a.name)>0 and b.sex=1
select distinct a.no,a.name from a,b where instr(a.name,b.name)>0 and b.sex=1
----- instr() 定位子串 instr('Hello World', 'or') 返回8
相关推荐
-
利用reverse索引优化like语句的方法详解
前言 在有一些情况下,开发同学经常使用like去实现一些业务需求,当使用like时,我们都知道使用like 前%(like '%111')这种情况是无法使用索引的,那么如何优化此类的SQL呢,下面是一个案例. 原SQL如下: pcc_cust_infonew 表索引如下 执行设计如下: 这里可以看到SQL执行3.96秒,执行计划中也可以发现PCC_CUST_INFONEW表走TABLE ACCESS FULL扫描,返回约380k的数据,然后再与PCC_CUST_CONTRACTCOMPANY表主
-
SQL查询语句通配符与ACCESS模糊查询like的解决方法
ACCESS的通配符和SQL SERVER的通配符比较===================================================ACCESS库的通配符为:* 与任何个数的字符匹配? 与任何单个字母的字符匹配 SQL Server中的通配符为:% 与任何个数的字符匹配_ 与单个字符匹配正文我今天在写个页面的时候,也很郁闷,表中明明有记录,但在ASP里就是搜索不到,理论的sql语句如下:Select * FROM t_food Where t_food.name
-
SQL中代替Like语句的另一种写法
比如查找用户名包含有"c"的所有用户, 可以用 use mydatabase select * from table1 where username like'%c%" 下面是完成上面功能的另一种写法: use mydatabase select * from table1 where charindex('c',username)>0 这种方法理论上比上一种方法多了一个判断语句,即>0, 但这个判断过程是最快的, 我想信80%以上的运算都是花在查找字 符串及其它
-
sql语句中like的用法详细解析
在SQL结构化查询语言中,LIKE语句有着至关重要的作用.LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的. 假设有一个数据库中有个表table1,在table1中有两个字段,分别是name和sex二者全是字符型数据.现在我们要在姓名字段中查询以"张"字开头的记录,语句如下:select * from table1 where name like &quo
-
C#适用于like语句的SQL格式化函数
本文实例讲述了C#适用于like语句的SQL格式化函数,分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: /// <summary> /// 对字符串进行sql格式化,并且符合like查询的格式. /// </summary> /// <param name="str">要转换的字符串</param> /// <returns>格式化后的字符串</returns> public static str
-
sql语句like多个条件的写法实例
表A no name 1 lu,li,zhang 2 zhou,wei,liu 3 li,fang 表B no name sex 1 li 1 2 lu 0 3 zhou 0 4 zhang 1 怎么实现 复制代码 代码如下: select * from A where A.name like (select B.name from B where B.sex=1) ------------------------
-
sql语句创建外键关联的完整实例
以创建学生教师表为例: 学生 id 关联教师 tid 学生表: student 教师表: teacher sql语句 : USE school; CREATE TABLE student( id INT(10) NOT NULL PRIMARY KEY, NAME VARCHAR(30) DEFAULT NULL, tid INT(10) DEFAULT NULL, KEY `fktid` (`tid`), CONSTRAINT `fktid` FOREIGN KEY(`tid`) REFERE
-
sql语句中日期相减的操作实例代码
目录 1. 直接用日期时间做减法 2. 使用 datediff 函数 补充:下面来看个实例 总结 1. 直接用日期时间做减法 GETDATE() 和 NOW() 查出来的时间一样,都带时分秒 select GETDATE(),NOW() FROM t_表名; curdate() 只显示 年月日 select curdate(),NOW() FROM TB_表名; 如果直接做减法,只能得到两个时间相差多少天 select (NOW()-日期时间字段) FROM T_表名; 若不要 时分秒,可以考虑
-
SQL语句过滤条件放在on与where子句中的区别和联系浅析
目录 摘要: 综述 过滤条件放在on和where中的区别 小结 Reference 摘要: 介绍在多表关联SQL语句中,过滤条件放在on和where子句中的区别——inner join中没区别,外连接就不一样. 综述 蚂蚁金服的一道SQL面试题如下:SQL语句中,过滤条件放在on和where子句中的区别.当时满脑子是left join和inner join等,觉得没区别啊!细思极恐,故梳理一下. 过滤条件放在on和where中的区别 数据库在通过连接两张或多张表来查询记录时,都会先通过join
-
Mybatis注解方式完成输入参数为list的SQL语句拼接方式
目录 Mybatis注解完成输入参数为list的SQL语句拼接 拼接查询条件为list集合的sql函数 Mybatis注解完成输入参数为list的SQL语句拼接 首先将list集合拼接成一个"1,2,3,4"格式的字符串 然后将这个字符串封装到一个类中:TyreInfoIdStr 这里的@SelectProvider是调用一个外部的类的方法的返回值作为sql语句. 在这个方法中拼接SQL语句与list集合的字符串,我这里是提前拼接过了. 拼接查询条件为list集合的sql函数 当dep
-
mysql把一个表某个字段的内容复制到另一张表的某个字段的SQL语句写法
需求:把一个表某个字段内容复制到另一张表的某个字段. 实现sql语句1: 复制代码 代码如下: UPDATE file_manager_folder f1LEFT OUTER JOIN file_manager_folder f2 ON f1.name = f2.name AND f2.parentId = 54SET f1.parentId = 54 WHERE f2.name IS NULL AND f1.id IN (1,2,3); 实现sql语句2: 复制代码 代码如下: upd
-
MySQL常用的建表、添加字段、修改字段、添加索引SQL语句写法总结
本文实例讲述了MySQL常用的建表.添加字段.修改字段.添加索引SQL语句写法.分享给大家供大家参考,具体如下: 建表: DROP TABLE IF EXISTS bulletin; CREATE TABLE bulletin( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, # 主键 uid INT(11) NOT NULL DEFAULT 0, # 创建者id context VARCHAR(600) NOT NULL DEFAULT '', # 公告
-
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
def find_worldByName(c_name,continent): print(c_name) print(continent) sql = " SELECT * FROM world WHERE 1=1 " if(c_name!=None): sql=sql+"AND ( c_name LIKE '%"+c_name+"%' )" if(continent!=None): sql=sql+" AND ( continent
-
mybatis对于list更新sql语句的写法说明
目录 对于list更新sql语句的写法 批量更新 mybatis动态更新sql语句 注意参数是实体 对于list更新sql语句的写法 批量更新 <update id="updateConfigureNames" parameterType="java.util.List"> <foreach collection="list" item="item" index="index" o
-
三表左连接查询的sql语句写法
今天要查询所有realname的username,psw,gname,tel 表结构: 表t1 字段名:t1_id,username,psw 表t2 字段名:t2_id,gname,t1_id //这里一个t1_id对应多个t2_id t3 字段名:t3_id,realname,tel,t1_id //这里一个t1_id对应一个t3_id 遇到的麻烦是当一个realname在t2表中没有内容时,也要将此realname的username,psw,tel等显示出来,直接使用 sql="select
随机推荐
- mybatis映射XML文件详解及实例
- JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
- 详解Java的Struts框架中栈值和OGNL的使用
- python计算文本文件行数的方法
- JS 操作符整理[推荐收藏]
- ASPX中的用户控件与ASP中的INCLUDE方法对比
- 在Repeater控件中通过Eval的方式绑定Style样式代码
- 编写Python爬虫抓取暴走漫画上gif图片的实例分享
- 深入理解Go语言中的Dispatcher
- jsp/javascript打印九九乘法表代码
- MySQL使用游标批量处理进行表操作
- 安装配置MySQLMTOP来监控MySQL运行性能的教程
- 关于Android中ListView嵌套GridView的问题
- C++输出上三角/下三角/菱形/杨辉三角形(实现代码)
- 实例详解Group by和Having子句
- yum安装(卸载)本地rpm包的方法
- JS实现的全排列组合算法示例
- 深入理解JavaScript系列(48):对象创建模式(下篇)
- 用PHP 4.2书写安全的脚本
- Android百度地图应用开发基础知识