表a
id name class
1 白菜 1
2 大米 0
3 西瓜 2
4 槟榔 3
表b(class)
id name
1 蔬菜
2 水果
希望查出来的是
id name class className
2 大米 0 null
4 槟榔 3 null
8 个解决方案
#1
select a.* ,b.name
from tablea a,tableb b
where a.class = b.id
and id%2 = 0
#2
select a.* ,b.name as classname
from tablea a,tableb b
where a.class = b.id
and id%2 = 0
#3
晕, 我不是要找出id为偶数的记录, 我是要找出
a中的class字段不存在于b的id字段的所有记录...
b的id只有1,2, 而a的class有0,1,2,3, 我要找出 a的class为0,3的记录
a中的class字段不存在于b的id字段的所有记录...
b的id只有1,2, 而a的class有0,1,2,3, 我要找出 a的class为0,3的记录
#4
select a.*,b.name from a left join b on a.class=b.id and b.id is null
#5
select a.*,null as classname from a where classid not in(select id from b)
#6
select a.*,null as classname from a where class not in(select id from b)
#7
select a.id,a.name,a.class,b.name classname
from a left join b on a.class=b.id
where b.name is null
#8
我已经自己试出来了, 结果和7楼是一样的
楼上的那些要不然就是用的 not in, 要不然就是错的
不过还是谢谢你们
楼上的那些要不然就是用的 not in, 要不然就是错的
不过还是谢谢你们
#1
select a.* ,b.name
from tablea a,tableb b
where a.class = b.id
and id%2 = 0
#2
select a.* ,b.name as classname
from tablea a,tableb b
where a.class = b.id
and id%2 = 0
#3
晕, 我不是要找出id为偶数的记录, 我是要找出
a中的class字段不存在于b的id字段的所有记录...
b的id只有1,2, 而a的class有0,1,2,3, 我要找出 a的class为0,3的记录
a中的class字段不存在于b的id字段的所有记录...
b的id只有1,2, 而a的class有0,1,2,3, 我要找出 a的class为0,3的记录
#4
select a.*,b.name from a left join b on a.class=b.id and b.id is null
#5
select a.*,null as classname from a where classid not in(select id from b)
#6
select a.*,null as classname from a where class not in(select id from b)
#7
select a.id,a.name,a.class,b.name classname
from a left join b on a.class=b.id
where b.name is null
#8
我已经自己试出来了, 结果和7楼是一样的
楼上的那些要不然就是用的 not in, 要不然就是错的
不过还是谢谢你们
楼上的那些要不然就是用的 not in, 要不然就是错的
不过还是谢谢你们