数学建模社区-数学中国

标题: 如何用SQL查询到A表有B表没有的数据 [打印本页]

作者: billdu    时间: 2003-1-15 05:26
标题: 如何用SQL查询到A表有B表没有的数据
<>select * from a,b where a.id = b.id(+) and b.id is null</P>' C- _. k( F& S3 F2 U/ [+ [
<>上边的好像是oracle的,我在SQL里边是这样写的</P>: S+ e8 S9 _' [' s3 f/ o
<>select  a.id ,b.* from a left join b on a.id=b.id where b.id is  null</P>
9 X( c4 E, D! f( [: Z7 r<>应该跟上边的是差不多的意思</P>
作者: ytwensheng    时间: 2005-9-1 16:37
标题: 如何用SQL查询到A表有B表没有的数据
有两个表,A和B,A表在的ID和B表中的ID相关联,我想查询A表中有但B表中没有的数据怎么写SQL语句?
作者: ilikenba    时间: 2005-9-1 18:27
应该使用in和notin函数!利用select语句可以嵌套来写!
作者: ytwensheng    时间: 2005-9-2 07:11
标题: 请问少校您说的SQL语句具体怎么写?举例可以吗?
请问少校您说的SQL语句具体怎么写?举个简单例子吧。
作者: ilikenba    时间: 2005-9-2 15:23
<>我本来的意思是这样的写<BR>select * from a  where aa.id not in (select id from b)<BR>或者: <BR>select id from a minus select id from b</P>- y2 A/ n0 C  D7 V
<>可是今天查阅了一下资料,说这样写的效率比较低,有人推荐了一种写法据说效率很高,但不知道在什么数据库上可用,我还没有测试过!<BR>select * from a,b where a.id = b.id(+) and b.id is null</P>- p" x  s0 a5 \- I# s, q8 E
<>希望有人测试后给个结果!  <BR></P>
作者: ytwensheng    时间: 2005-9-5 10:05
标题: 我试的怎么不好用?
<><br>我建了两个数据表,a和b,  a 表中有id字段,b表中有id字段,查询语句是这样写的:<br>SELECT id<br>FROM a<br>WHERE id not in ( SELECT id FROM b)</P>
2 I" o5 T( w6 d" H, S<>但测试的时候出现如下错误:1064 You have an error in your SQL syntax near 'SELECT id FROM b)'at line 1</P>9 E  \& v! _( ]) \
<>另外我用select * from a,b where a.id = b.id(+) and b.id is null这种方法时也出现跟上面类似的错误,把(+)去掉后显示无数据,如果正确应该有数据的。</P>; k$ S( S+ M  G/ |2 b
<>这是什么原因?难道跟PHP(4)和MYSQL(3.23.56)版本有关?请高手给予指点。</P>
/ D2 w2 t- P7 G2 b3 ^# d
[此贴子已经被作者于2005-9-5 10:13:51编辑过]

作者: ilikenba    时间: 2005-9-5 11:25
<>MYSQL数据库我没有使用过!主要看它是不是支持select语句的嵌套使用!</P>  ~+ l, P+ Z3 w2 E  U
<>你有没有试过select id from a minus select id from b的使用?</P>4 q2 i3 {! G5 q# i- P
<>这里面主要是minus函数的使用,不知道MYSQL中是不是有这个函数,或者有同样功能的函数也可以使用在这里,你可以查看一下帮助!</P>
作者: fuxiaoso    时间: 2005-9-27 09:43
MYSQL不支持select语句的嵌套
作者: park477    时间: 2005-10-8 10:00
<>不太清楚 </P>




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5