将mysql表中的某一行与另一个表值进行比较

将mysql表中的某一行与另一个表值进行比较,mysql,Mysql,我需要一些mysql查询方面的帮助 我有两张桌子,如下所示 表1 ID NAME ADDRESS 1 test testing address 2 test1 testing address 3 test2 testing address 表2 ID user_id date 1 2 123456789 我的问题是 SELECT * FROM table1,table2 on table1.ID = table2.user_id

我需要一些mysql查询方面的帮助

我有两张桌子,如下所示

表1

ID NAME    ADDRESS
1  test    testing address
2  test1    testing address 
3  test2    testing address 
表2

ID  user_id    date
1   2          123456789
我的问题是

SELECT * FROM table1,table2 on table1.ID = table2.user_id where table2.date != 123456789 
但这行不通

我需要表1中没有ID 2的数据,如下面的输出

ID name address
1  test1 testing address
3  test3 testing address

使用
左联接
仅获取第二个表中不存在的记录

SELECT tabl1.* 
FROM table1
left join table2 on table1.ID = table2.user_id 
where table2.user_id is null

请参见检查语法

 SELECT * FROM table1 t1 
 INNER JOIN table2 t2 on t1.ID = t2.user_id where t2.date != '123456789'
试试这个:-

SELECT * FROM table1 t1 
inner join table2 t2 on t1.ID <> t2.user_id;
从表1 t1中选择*
t1.ID t2.user\u ID上的内部联接表2 t2;

希望它能对您有所帮助。

您的联接语法错误,在使用
on
关键字之前,您需要指定要联接的表。您应该尝试“联接”查询。连接语法类似于:从tableX LEFT Join tableY on(tableX.field=tableY.field)中选择tableX.FieldX、tableY.FieldZ(…等等),其中tableY.date!=谢谢你的解决方案。它运行良好,但我需要与“日期”字段进行比较,因为如果该“日期”不存在,那么我也需要该用户id(2)。与表1中的所有记录一样