SQL查询问题

时间:2009-08-04 22:16:52

标签: tsql

我有一张约有6个字段的表格。我想编写一个SQL语句,它将返回国家/地区字段中没有“England”的所有记录,语言字段中的英语和&评论栏中的英文。

sql查询会是什么样的?

6 个答案:

答案 0 :(得分:3)

那么,你的问题很大程度上取决于你使用的DBMS以及你的表格设置是什么样的。这是在MySQL或TSQL中执行此操作的一种方法:

SELECT *
FROM tbl
WHERE country NOT LIKE '%England%' AND language NOT LIKE '%english%'
     AND comments NOT LIKE '%english%';

你说出问题的方式使得听起来好像所有这些字段都可能包含大量文本,在这种情况下,上述查询将是最佳选择。但是,你很可能会在真正的数据库中寻找完全匹配:

SELECT *
FROM tbl
WHERE country!='England' AND language!='english'
    AND comments NOT LIKE '%english%';

答案 1 :(得分:1)

从此开始并根据需要进行修改:

SELECT *
FROM SixFieldTable
WHERE Country <> 'England'
AND language <> 'english'
AND comments NOT LIKE '%english%'

希望这有帮助。

答案 2 :(得分:1)

你想要像

这样的东西吗?
select * from myTableOfMadness
where country <> 'England'
and language <> 'English'
and comments not like '%english%'

不确定您是否需要'和'或'或'或所有'不'比较。你的句子结构有点误导。

答案 3 :(得分:1)

上述解决方案似乎没有考虑列中可能的空值。

之类的
Where country <> 'England'
在默认的SQL Server连接设置下,

将错误地排除Country为null的条目。

相反,您可以尝试使用

IsNull(Country, '') <> 'England'

答案 4 :(得分:1)

忽略大小写:

SELECT *
FROM SixFieldTable
WHERE LOWER(Country) <> 'england' AND
LOWER(language) <> 'english' AND
LOWER(comments) NOT LIKE '%english%'

答案 5 :(得分:0)

试试这个

Select * From table
Where Country Not Like '%England%'
 And Language Not Like '%English%'
 And comments Not Like '%English%'