这是手册中的例子
如果在一个LEFT JOIN中没有右表的匹配记录,一个所有列设置为NULL的行被用于右表。你可以使用这个事实指出表中在另一个表中没有对应记录的记录:
mysql> select table1.* from table1
LEFT JOIN table2 ON table1.id=table2.id
where table2.id is NULL;这个例子找出在table1中所有的行,其id值在table2中不存在(即,所有table1中的在table2中没有对应行的行)。当然这假定table2.id被声明为NOT NULL。
如果在一个LEFT JOIN中没有右表的匹配记录,一个所有列设置为NULL的行被用于右表。你可以使用这个事实指出表中在另一个表中没有对应记录的记录:
mysql> select table1.* from table1
LEFT JOIN table2 ON table1.id=table2.id
where table2.id is NULL;这个例子找出在table1中所有的行,其id值在table2中不存在(即,所有table1中的在table2中没有对应行的行)。当然这假定table2.id被声明为NOT NULL。
呢说的那个例子,我看过。
但是那个例子是没有查询条件的,即:WHERE NodeID='7'
我不知道这个条件应该如何加,加在那个sql语句的那个地方?
谢谢,可以的话帮忙写一下。
SELECT * FROM Users
LEFT JOIN UserNodeList ON Users.UserID=UserNodeList.UserID and UserNodeList.NodeID='7'
WHERE UserNodeList.UserID id NULL
其实,我在上面已经把表结构给列出来了
Users(UserID, Username, Password)
UserNodeList(NodeID, UserID)
其中UserID和NodeID都是int,UserID为自动增量
NodeID是从另外一个表中取得的int值。
我晚上回去试试,看可不可以,谢谢。
成功,揭帖。