MySQL检查表中是否存在一组字段

时间:2013-05-21 17:32:30

标签: mysql mysql-workbench

我正在验证表中是否存在一组字段值(例如:yyy,aaa和ccc),并且使用UNION来收集我的结果,更喜欢更优雅高效的解决方案:

TableName :Example_Table

名称|班级

xxx  | CSE <BR>
yyy  | EE  <BR>
zzz  | MECH <BR>
aaa  | CSE  <BR>
bb   | CSE <BR>

我的查询:

SELECT  IF(Name  IS NULL,"yyy ","")   
FROM Example_Table where (Name  LIKE '%yyy%') 
      UNION   
(SELECT  IF(Name  IS NULL,"aaa  ","")   
FROM Example_Table where (Name  LIKE '%aaa%')) 
      UNION   
(SELECT  IF(Name  IS NULL,"ccc ","")   
FROM Example_Table where (Name  LIKE '%ccc%'));

我需要知道表中没有我需要的字符串值。问题是,我使用的表有大约数千个元组,并且使用UNION似乎非常昂贵..

1 个答案:

答案 0 :(得分:0)

寻找字符串永远不会优雅;)但如果您想缩短代码,请尝试IN。与......类似的东西。

...WHERE Name IN ('yyy','aaa','ccc')....