select * from a,b where a.字段名=b.字段名 类似于这种写法,中间可以省略很多步骤,但SQL语句的速度我不能保证
具体的说把我是用一个函数和表字锻一样多的参数传直过来。能后去比对A表里的数据,如果存在数据一样就再次调用函数,传新的参数直。如果不存在就退出。我目前的写法是这样的 select a,b,c,d,e,f from A where a=变量1 and b=变量2 and c=变量3 .....,注意函数是被程序循环调用,所以参数直是变化的。
列出A表中記錄能在B表中找到的 select * from A where EXISTS(select * from B where B.ID=A.ID) 列出A表中記錄能在B表中找不到的 select * from A where NOT EXISTS(select * from B where B.ID=A.ID)
haipingma(今天你过得快乐吗?) 的方法不是说了好明确了吗?你的意思应该是说,如果拿B的数据和A一直比较,直到B中有一个数据A里面没有,那么函数就退出,是吗?那样之的话, haipingma(今天你过得快乐吗?) 就已经给出答案了,你也可以直接这样判断:select * from a where a.id not in (select id from b)如果上面查出有数据的话,那么B表中就存在A表里面没有的数据,那样子退出程序就好了。
roger_xiong(卖女孩的小火柴~) select * from a where a.id not in (select id from b) 你这只能比一个字锻,我要的是整条数据完全相同,这样做的花会不会很慢?
楼主,你会INNER JOIN吗?会的话就可以SELECT了,不会的话就去看有关资料,磨刀不误砍柴功,你这种循环的做法也太那个了。 select 表1.a,表1.b from 表1 inner join 表2 on 表1.a=表2.a and 表1.b=表2.b上面已经有人用到了子查询,一样可以达到你的目的,不过速度比内连接要慢许多。
类似于这种写法,中间可以省略很多步骤,但SQL语句的速度我不能保证
select * from A where EXISTS(select * from B where B.ID=A.ID)
列出A表中記錄能在B表中找不到的
select * from A where NOT EXISTS(select * from B where B.ID=A.ID)
select 表1.a,表1.b from 表1 inner join 表2 on 表1.a=表2.a and 表1.b=表2.b上面已经有人用到了子查询,一样可以达到你的目的,不过速度比内连接要慢许多。