MYSQL与Where和Like而不是

时间:2016-06-14 15:25:09

标签: mysql sql-like

我比较两个表并输出行中没有的值。

    SELECT one, two FROM `table1` WHERE `two` NOT IN 
(SELECT `two2` FROM `table2`) AND `one` NOT IN (SELECT `one1` FROM `table2`)

我怎样才能添加像'%two2'这样的行'%two'?

我想查一下:

SELECT one, two FROM table1 WHERE LIKE %two NOT IN (SELECT LIKE %two2 FROM table2) 

因为在这个表中,第一个地方有时会出现0但是我必须淡出

我没有变量只有行名。我有什么方法可以做到吗?

1 个答案:

答案 0 :(得分:2)

您可以反转您的情况并使用棘手的LEFT JOIN代替。然后,您的查询将如下所示:

SELECT one, two FROM `table1`
LEFT JOIN `table2` ON
    `table1`.`one` = `table2`.`one1`
    OR `table1`.`two` = `table2`.`two2`
    -- List others field comparasion using OR here --
WHERE `table2`.`one1` IS NULL;

这种方法可以帮助您减少子查询的数量,并大大提高性能和可读性。

相关问题