简单的SQL查询where子句问题 [英] Simple SQL query where clause question
本文介绍了简单的SQL查询where子句问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Hello All,
考虑下表
TEMPTABLE
Col:first Second
数据 10 4
数据 11 4
数据 10 4
数据 10 5
数据 10 6
数据 11 4
我想删除第一列值为10且第二列值为4的行。
我试过用
select * from temptable where(first = 10 and second = 4);
但它删除所有第一个值为10的行。请让我知道更好的主意。
解决方案
如果要从结果集中消除行,请使用非相等而不是相等。例如
选择 * 来自 temptable 其中(第一个<> 10 和 second<> 4 );
< span class =code-keyword> DECLARE @ TestTable AS TABLE (Value1 INT ,Value2 INT )
INSERT INTO @ TestTable ( Value1,Value2)
VALUES ( 10 , 4 ),( 11 , 4 ),( 10 , 4 ),( 10 , 5 ),( 10 , 6 ),( 11 , 4 )
- 返回所有值
SELECT Value1,Value2 FROM @ TestTable
- Value1 Value2
- 10 4
< span class =code-comment> - 11 4
- 10 4
- 10 5
- 10 6
- 11 4
- 仅返回10和4列
SELECT Value1,Value2 FROM @ TestTable
WHERE (Value1 = 10 AND Value2 = 4 )
- Value1 Value2
- 10 4
- 10 4
- 删除第一列值为10且第二列值为4的行
SELECT Value1,Value2 FROM @ TestTable
WHERE (Value1<> 10 或 Value2<> 4 )
- Value1 Value2
- 11 4
- 10 5
- 10 6
- 11 4
Hello All,
Conside following table
TEMPTABLE
Col : first Second
Data 10 4
Data 11 4
Data 10 4
Data 10 5
Data 10 6
Data 11 4
I want to remove rows whose first column value is 10 and second column value is 4.
I tried using
select * from temptable where (first = 10 and second = 4);
but it is removing all rows having first value as 10.Please let me know any better idea.
解决方案
Instead of equality use non-equality if you want to eliminate the rows from the result set. For example
select * from temptable where (first <> 10 and second <> 4);
DECLARE @TestTable AS TABLE (Value1 INT,Value2 INT) INSERT INTO @TestTable (Value1,Value2) VALUES (10,4), (11,4),(10,4 ),(10,5 ),(10,6),(11 ,4) -- Return All Values SELECT Value1,Value2 FROM @TestTable --Value1 Value2 -- 10 4 -- 11 4 -- 10 4 -- 10 5 -- 10 6 -- 11 4 -- Return Only 10 And 4 Columns SELECT Value1,Value2 FROM @TestTable WHERE (Value1 = 10 AND Value2 = 4) --Value1 Value2 -- 10 4 -- 10 4 --Remove rows whose first column value is 10 and second column value is 4 SELECT Value1,Value2 FROM @TestTable WHERE (Value1 <> 10 OR Value2 <> 4) --Value1 Value2 -- 11 4 -- 10 5 -- 10 6 -- 11 4
这篇关于简单的SQL查询where子句问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文