首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请教这样的SQL语句怎么写?(内附例子)

2012-01-29 
请问这样的SQL语句如何写?(内附例子)Bread(表1)FoodNameFactory小安琪尔面包桃李面包厂毛毛虫面包桃李面包

请问这样的SQL语句如何写?(内附例子)
Bread   (表1)
FoodName           Factory
小安琪尔面包     桃李面包厂
毛毛虫面包         桃李面包厂
威化饼干             桃李面包厂
肉松卷                 永新面食

Cookies   (表2)
FoodName             Factory
威化饼干             桃李面包厂
儿童乐饼干         大荣食品厂

因“威化饼干”在表1和表2中都存在,所以在结果中去除。
请问使用SQL语句应该如何才能获取以下结果?
---------------------------
小安琪尔面包     桃李面包厂
毛毛虫面包         桃李面包厂

[解决办法]
declare @Bread table(FoodName varchar(16),Factory varchar(16))
insert into @Bread select '小安琪尔面包 ', '桃李面包厂 '
insert into @Bread select '毛毛虫面包 ', '桃李面包厂 '
insert into @Bread select '威化饼干 ' , '桃李面包厂 '
insert into @Bread select '肉松卷 ' , '永新面食 '

declare @Cookies table(FoodName varchar(16),Factory varchar(16))
insert into @Cookies select '威化饼干 ' , '桃李面包厂 '
insert into @Cookies select '儿童乐饼干 ', '大荣食品厂 '

select
b.*
from
@Bread b
where
exists(select 1 from @Cookies where Factory=b.Factory and FoodName!=b.FoodName)

/*
FoodName Factory
---------------- ----------------
小安琪尔面包 桃李面包厂
毛毛虫面包 桃李面包厂
*/

热点排行