sql 两列作为条件查询
在职工表EMP中SELECT*FROMEMPWHERE(EMP_NO,EMP_NAME)IN(1,王)好像是这么写,但总是提示错误,望知道的朋友帮忙,谢谢!就是拿这个表中...
在职工表EMP 中
SELECT * FROM EMP WHERE (EMP_NO,EMP_NAME) IN (1,王)
好像是这么写,但总是提示错误,望知道的朋友帮忙,谢谢!
就是拿这个表中的两列作为一个整体来查询,而在IN 里面可以有很多对参数 展开
SELECT * FROM EMP WHERE (EMP_NO,EMP_NAME) IN (1,王)
好像是这么写,但总是提示错误,望知道的朋友帮忙,谢谢!
就是拿这个表中的两列作为一个整体来查询,而在IN 里面可以有很多对参数 展开
6个回答
展开全部
恩 是有这种写法,但是你写错了。
一般用在子查询中。 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
一般用在子查询中。 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
展开全部
没有见过这样的语法,
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 '%王%'
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 '%王%'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以这么写吗?没见过
这么写应该可以,不知道是不是你需要的效果
SELECT * FROM EMP WHERE EMP_NO IN(1) AND EMP_NAME IN ('王');
这么写应该可以,不知道是不是你需要的效果
SELECT * FROM EMP WHERE EMP_NO IN(1) AND EMP_NAME IN ('王');
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SELECT * FROM EMP WHERE EMP_NO=1 AND EMP_NAME LIKE '%王%';
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SELECT * FROM EMP WHERE convert(varchar,EMP_NO)+EMP_NAME in ('1'+'王' ,'2'+'赵','3'+'孙'...)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询