sql里like in能组合用吗的相关推荐

如题所述

保留字like在sql里与+-*/一样是运算符之一,可用like运算符来找出符合指定样式的字段值。它通常要结合通配符表达式一起使用。

保留字in在sql里的作用多一些,其作用之一也与+-*/一样是运算符,用“in运算符”可判断表达式的数值是否等于指定列表中几个数值中的一个;

其作用之二为设置sql子查询,用“in子查询”的结果可以对主查询实施筛选,筛选效果与in运算符相同;另外不同种类的数据库in还可能有一些其他特殊用途,例如in在access数据库里还可以连接外部数据表等。

SQL对like 操作中的特殊字符处理方法:

SQL Server查询过程中,单引号 ' 是特殊字符,所以在查询的时候要转换成双单引号 '' 。

在like操作还有以下特殊字符:下划线_,百分号%,方括号[],尖号^。 

下划线:用于代替一个任意字符(相当于正则表达式中的 ? ) 百分号:用于代替任意数目的任意字符(相当于正则表达式中的 * )

以上内容参考:百度百科-SQL LIKE

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-30

SQL中like和in能组合在一起用,具体使用如下:

(1)保留字like在sql里与+-*/一样是运算符之一,可用 like 运算符来找出符合指定样式的字段值。它通常要结合通配符表达式一起使用。

(2)保留字in在sql里的作用多一些,其作用之一也与+-*/一样是运算符,用 “in 运算符”可判断表达式的数值是否等于指定列表中几个数值中的一个;其作用之二为设置sql子查询,用“in子查询”的结果可以对主查询实施筛选,筛选效果与in运算符相同;另外不同种类的数据库in还可能有一些其他特殊用途。

(3)sql里like in是可以组合使用的,前提是必须符合语法规范,不得将它们直接合在一起使用,正如不能将一个数同时乘以除以另外一个数一样。

扩展资料:

mssql 数据库like in组合使用举例:

(1)查出学生表里所有一班和二班姓张的同学资料

select * from 学生 where 姓名 like '张%' and 班级 in ('一班','二班')

(2)查出学生表里所有姓张和姓王的同学资料

select * from 学生 where 姓名 in (select 姓名 from 学生 where 姓名 like '张%' or 姓名 like '王%'

(3)mysql中like in 不能这样组合使用实例,查出学生表里所有姓张和姓王的同学资料

select * from 学生 where 姓名 like in ('张%','王%')或者select * from 学生 where 姓名 in (like '张%',like '王%')。

本回答被网友采纳
第2个回答  2019-02-20
保留字like在sql里与+-*/一样是运算符之一,可用
like
运算符来找出符合指定样式的字段值。它通常要结合通配符表达式一起使用。
保留字in在sql里的作用多一些,其作用之一也与+-*/一样是运算符,用
“in
运算符”可判断表达式的数值是否等于指定列表中几个数值中的一个;其作用之二为设置sql子查询,用“in子查询”的结果可以对主查询实施筛选,筛选效果与in运算符相同;另外不同种类的数据库in还可能有一些其他特殊用途,例如in在access数据库里还可以连接外部数据表等。
sql里like
in是可以组合使用的,前提是必须符合语法规范,不得将它们直接合在一起使用,正如不能将一个数同时乘以除以另外一个数一样。
mssql
数据库like
in组合使用举例:
查出学生表里所有一班和二班姓张的同学资料
select
*
from
学生
where
姓名
like
'张%'
and
班级
in
('一班','二班')
查出学生表里所有姓张和姓王的同学资料
(此列组合like
in有点画蛇添足,其实不用子查询就行了,这里纯粹是为示范)
select
*
from
学生
where
姓名
in
(select
姓名
from
学生
where
姓名
like
'张%'
or
姓名
like
'王%')
********但是不能这样写*******
select
*
from
学生
where
姓名
like
in
('张%','王%')
或者
select
*
from
学生
where
姓名
in
(like
'张%',like
'王%')
第3个回答  推荐于2017-10-07
保留字like在sql里与+-*/一样是运算符之一,可用 Like 运算符来找出符合指定样式的字段值。它通常要结合通配符表达式一起使用。

保留字in在sql里的作用多一些,其作用之一也与+-*/一样是运算符,用 “in 运算符”可判断表达式的数值是否等于指定列表中几个数值中的一个;其作用之二为设置sql子查询,用“in子查询”的结果可以对主查询实施筛选,筛选效果与in运算符相同;另外不同种类的数据库in还可能有一些其他特殊用途,例如in在Access数据库里还可以连接外部数据表等。

sql里like in是可以组合使用的,前提是必须符合语法规范,不得将它们直接合在一起使用,正如不能将一个数同时乘以除以另外一个数一样。

mssql 数据库like in组合使用举例:

查出学生表里所有一班和二班姓张的同学资料
select * from 学生 where 姓名 like '张%' and 班级 in ('一班','二班')

查出学生表里所有姓张和姓王的同学资料
(此列组合like in有点画蛇添足,其实不用子查询就行了,这里纯粹是为示范)
select * from 学生 where 姓名 in (select 姓名 from 学生 where 姓名 like '张%' or 姓名 like '王%')

********但是不能这样写*******
select * from 学生 where 姓名 like in ('张%','王%')
或者
select * from 学生 where 姓名 in (like '张%',like '王%')本回答被提问者和网友采纳
相似回答