Mysql 用于查找两列之间匹配项的sql查询

Mysql 用于查找两列之间匹配项的sql查询,mysql,Mysql,我有一个表abc,它有三列a,b,c 苹果可以被公羊吃,但公羊不能被苹果吃 我想写一个查询来获取具有上述关系的所有行,以便删除具有该关系的所有行 我认为一个连接本身就可以做到这一点: SELECT t.a, t.b FROM "abc" as t left inner join on "abc" as t2 on (t.a = t2.b and t2.a = t.b) 还是一张桌子 SELECT a.column_name, b.column_name... FROM table1 a,

我有一个表abc,它有三列a,b,c

苹果可以被公羊吃,但公羊不能被苹果吃 我想写一个查询来获取具有上述关系的所有行,以便删除具有该关系的所有行


我认为一个连接本身就可以做到这一点:

SELECT t.a, t.b
FROM "abc" as t left inner join on "abc" as t2 on (t.a = t2.b and t2.a = t.b)
还是一张桌子

SELECT a.column_name, b.column_name...
FROM table1 a, table1 b
WHERE a.common_field = b.common_field;

c怎么了?它被苹果吃掉了吗?肯定有别的桌子可以知道哪个可以吃,哪个不可以。query怎么知道呢?如果该表的a列为apple,b列为ram,那么该表的a列不应为ram,b列不应为apple,我们必须轮询同一个表才能找到这种类型的结果,c列在当前上下文中是不必要的公共字段值不是常量,在执行查询时它是动态的吗?这不起作用,我得到了以下异常“ERROR 1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以获得正确的语法,在“abc”上使用“abc”作为t左内连接,在“abc”上使用“t2”作为第1行的“t.a”
SELECT t.a, t.b
FROM "abc" as t left inner join on "abc" as t2 on (t.a = t2.b and t2.a = t.b)
SELECT *  
FROM tbl1   
NATURAL JOIN tbl1;
SELECT a.column_name, b.column_name...
FROM table1 a, table1 b
WHERE a.common_field = b.common_field;