sql语句like多个条件的写法实例_MsSql

表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

 
oracle写法

复制代码 代码如下:


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

时间: 2024-11-17 01:58:52

sql语句like多个条件的写法实例_MsSql的相关文章

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语句直接把表导出为XML格式_MsSql

首先建立一张表: 复制代码 代码如下: USE [ip] GO /****** 对象: Table [dbo].[SiteData] 脚本日期: 09/11/2010 17:41:11 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[SiteData]( [id] [int] IDENTITY(1,1) NOT NULL, [SiteName]

sql语句中单引号,双引号的处理方法_MsSql

下面我们就分别讲述,虽然说的是Insert语句, 但是Select.Update.Delete语句都是一样的. 假如有下述表格:          mytabe          字段1    username     字符串型(姓名)          字段2    age          数字型(年龄)          字段3    birthday      日期型(生日)          字段4    marry        布尔型(是否结婚,结婚为True,未结婚为False)

SQL语句实现查询当前数据库IO等待状况_MsSql

sys.dm_io_pending_io_requests可以返回当前IO Pending的状态,对于SQL Server 中每个挂起的I/O 请求,返回与其对应的一行,跟sys.dm_io_virtual_file_stats配合可以看到具体是哪个数据库IO出现问题. select DB_NAME(database_id) as DBNAME, database_id, file_id, io_stall, io_pending_ms_ticks, scheduler_address from

随机抽取的sql语句 每班任意抽取3名学生_MsSql

学校有一.二.三....至十班. 假设每个班上有30名学生.张.李.刘.苏等 现有这样的表 student ,字段 class 及name .其中class 表示班级,name 表示每班学生姓名. 要求每班任意抽取3名学生出来,进行学校大扫除. 请写出这样的SQL语句. select name from (select (row_number() over (partition by class order by checksum(newid()))) id,* from student ) a

SQL语句去掉重复记录,获取重复记录_MsSql

SQL语句去掉重复记录,获取重复记录  --查询一个表中有效去掉重复的记录,UserID为自增长主键,RoleID为重复字段 SELECT MIN(UserID) AS UserID, RoleID FROM tmpTable GROUP BY RoleID SELECT RoleID FROM tmpTable GROUP BY RoleID HAVING (COUNT(*) > 1) SELECT DISTINCT * FROM tmpTable sql语句查询 sql server acc

SQL语句之Union和Union All的用法_MsSql

SQL中Union和Join语句非常类似,但是Union有一个限制条件:两个 SQL 语句所产生的栏位需要是同样的资料种类,最后的结果会看到不同的资料值. 格式: [SQL 语句 1] UNION [SQL 语句 2] 例如: 表store_info 和表internet_sales 使用Union语句: 复制代码 代码如下: SELECT Date FROM Store_Info UNION SELECT Date FROM Internet_Sales 结果: 或: 复制代码 代码如下: S

sql语句order by多条件排序

问题描述 orderby(casewhentype='vip'andlevel='1'then1whentype='vip'andlevel='0'then2else99end),creatTimedesc我希望先类型type为vip的排在最前,其次vip按照级别level为"1"排前面,"0"排后面最后vip按创建时间creatTime升序排列非vip按创建时间creatTime倒序排列求教,主要是后面这个creatTime排序该怎么写 解决方案 解决方案二:把c

常用SQL语句(嵌套子查询/随机等等)详细整理_MsSql

1.SQL 插入语句得到自动生成的递增ID值 复制代码 代码如下: insert into Table1(Name,des,num) values ('ltp','thisisbest',10); select @@identity as 'Id' 2.实现是1 或0 想显示为男或女 复制代码 代码如下: select name,Sex=(case Sex when '1' then '男' when '0' then '女' end) from Tablename 3.嵌套子查询 复制代码 代