当前位置:首页 > 开发 > Web前端 > 前端 > 正文

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

发表于: 2014-01-19   作者:dcj3sjt126com   来源:转载   浏览次数:
摘要: 我有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

我有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

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

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
  Oracle关系型数据库管理系统是世界上流行的关系数据库,它是一个极其强大、灵活和复杂的系统,据
  Oracle关系型数据库管理系统是世界上流行的关系数据库,它是一个极其强大、灵活和复杂的系统,据
  Oracle关系型数据库管理系统是世界上流行的关系数据库,它是一个极其强大、灵活和复杂的系统,据
怎样知道表中的数据记录是否有double记录。这是我们在做报表数据统计时常考虑的事情。可以先看下面
对任何数据库程序来说, 添加, 更新, 删除都是十分常见且必要的特性. 在该教程里我们已经讲解了使用i
在做类erp项目的时候因为代码没处理好导致内外部物料匹配表里面出现了很多重复数据,恰巧那张匹配表
看看我写的对不对,查询接着显示表Y中的数据8,4,p 表X有字段A,B,C。表Y有字段A,B,C。使用left joi
看看我写的对不对,查询接着显示表Y中的数据8,4,p 表X有字段A,B,C。表Y有字段A,B,C。使用left joi
#include<stdio.h> #include<stdlib.h> #include<math.h> typedef int Status ;
有两种含义的表大小。一种是分配给一个表的物理空间数量,而不管空间是否被使用。可以这样查询获得
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号