首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

连表查询两个表中第一个表中有而其次表中没有的数据

2014-01-21 
连表查询两个表中第一个表中有而第二表中没有的数据我有2个mysql数据表?A表一个字段Aname,数据:a、b、c、d、e?

连表查询两个表中第一个表中有而第二表中没有的数据

我有2个mysql数据表?
A表一个字段Aname,数据:a、b、c、d、e?
B表一个字段Bname,数据:a、b、c?
现在我想查出存在于A表、但不存在于B表里的数据:d、e?
不知道mysql里面的语句这么写????

标准sql语句大概是:select Aname from A where Aname not in(select Bname from B)?

但是mysql不支持嵌套查询~~~有什么其他方法吗?好象join可以多表连接查询,但是没想出来怎样写语句???

如果在一个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。?

====?
摘自mySql中文参考手册

?

实例

SELECT `a`.`hotelid` FROM `hotel_citys` `a` LEFT JOIN `hotel_jiages` `b` ON
`a`.`hotelid` = `b`.`hotelid` WHERE `b`.`hotelid` IS NULL

热点排行