sql 两列作为条件查询

在职工表EMP中SELECT*FROMEMPWHERE(EMP_NO,EMP_NAME)IN(1,王)好像是这么写,但总是提示错误,望知道的朋友帮忙,谢谢!就是拿这个表中... 在职工表EMP 中
SELECT * FROM EMP WHERE (EMP_NO,EMP_NAME) IN (1,王)
好像是这么写,但总是提示错误,望知道的朋友帮忙,谢谢!
就是拿这个表中的两列作为一个整体来查询,而在IN 里面可以有很多对参数
展开
 我来答
loveyurui
推荐于2018-04-13 · TA获得超过6557个赞
知道大有可为答主
回答量:2892
采纳率:33%
帮助的人:995万
展开全部
恩 是有这种写法,但是你写错了。

一般用在子查询中。 in后面直接包含数据的话 可能需要同一数据类型的。

[TEST1@orcl] SQL>select * from emp where (empno,ename) in(1,'张三');
select * from emp where (empno,ename) in(1,'张三')
*
第 1 行出现错误:
ORA-00920: 无效的关系运算符

[TEST1@orcl] SQL>select * from emp where (empno,ename) in(select empno,ename from emp where fee=30);

EMPNO ENAME FEE
---------- ---------------------------------------- ----------
1 张三 30

参考资料: http://zhidao.baidu.com/question/139545697.html

Kan0818
2010-03-05 · TA获得超过112个赞
知道小有建树答主
回答量:184
采纳率:0%
帮助的人:222万
展开全部
没有见过这样的语法,

Transact-SQL 参考

IN
确定给定的值是否与子查询或列表中的值相匹配。

语法
test_expression [ NOT ] IN
(
subquery
| expression [ ,...n ]
)

参数
test_expression

是任何有效的 Microsoft® SQL Server™ 表达式。

subquery

是包含某列结果集的子查询。该列必须与 test_expression 有相同的数据类型。

expression [,...n]

一个表达式列表,用来测试是否匹配。所有的表达式必须和 test_expression 具有相同的类型。

--------------------
可以写成这样:

SELECT * FROM EMP WHERE EMP_NO IN (1) AND EMP_NAME IN('王')
SELECT * FROM EMP WHERE EMP_NO IN (1) AND EMP_NAME LIKE '%王%'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Jasmine19862
2010-03-05
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
可以这么写吗?没见过
这么写应该可以,不知道是不是你需要的效果
SELECT * FROM EMP WHERE EMP_NO IN(1) AND EMP_NAME IN ('王');
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jonqol
2010-03-05 · TA获得超过373个赞
知道小有建树答主
回答量:109
采纳率:0%
帮助的人:0
展开全部
SELECT * FROM EMP WHERE EMP_NO=1 AND EMP_NAME LIKE '%王%';
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
传说中的鹰王
2010-03-05 · TA获得超过1053个赞
知道小有建树答主
回答量:923
采纳率:87%
帮助的人:550万
展开全部
SELECT * FROM EMP WHERE convert(varchar,EMP_NO)+EMP_NAME in ('1'+'王' ,'2'+'赵','3'+'孙'...)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式