能刚我解释下下面sql语句的意思啊,看不懂?尤其是not exists~
来源:学生作业帮 编辑:大师作文网作业帮 分类:数学作业 时间:2024/11/17 10:08:46
能刚我解释下下面sql语句的意思啊,看不懂?尤其是not exists~
设有如图3所示的三个关系.其中各个属性的含义如下:A#(商店代号)、ANAME(商店名)、WQTY(店员人数)、CITY(所在城市)、B#(商品号)、BNAME(商品名称)、PRICE(价格)、QTY(商品数量).
找出至少供应了代号为’256’的商店所供应的全部商品的其它商店的商店名和所在城市.
SELECT ANAME,CITY FROM A
WHERE NOT EXISTS
(SELECT * FROM B
WHERE EXISTS
(SELECT * FROM AB AB1
WHERE A#='256' AND B#=B.B#)
AND NOT EXISTS
(SELECT * FROM AB AB2
WHERE A#!='256' AND A#=A.A# AND B#=B.B#)
);
设有如图3所示的三个关系.其中各个属性的含义如下:A#(商店代号)、ANAME(商店名)、WQTY(店员人数)、CITY(所在城市)、B#(商品号)、BNAME(商品名称)、PRICE(价格)、QTY(商品数量).
找出至少供应了代号为’256’的商店所供应的全部商品的其它商店的商店名和所在城市.
SELECT ANAME,CITY FROM A
WHERE NOT EXISTS
(SELECT * FROM B
WHERE EXISTS
(SELECT * FROM AB AB1
WHERE A#='256' AND B#=B.B#)
AND NOT EXISTS
(SELECT * FROM AB AB2
WHERE A#!='256' AND A#=A.A# AND B#=B.B#)
);
楼主,你好!这个比较简单,也可以用INNER JION语句来写,上面那样写,反而有点麻烦了.
再问: 我也觉得用in简单,但是想弄懂这个~能不能帮我解释下
再答: 可以,我给你弄好!你给我提高悬赏分数。 顺便补充下: “ 找出至少供应了代号为’256’的商店所供应的全部商品的其它商店的商店名和所在城市。 ”这句话是什么意思,是你自己写的么?拗口难懂啊
再问: 不是我自己写的,题目就是,我也觉得看的好拗口,又看不懂答案,所以跑来问了,我悬赏分数提高了,不够我在提高,帮个忙,我快考试了
再答: --问题:找出 至少供应了代号为’256’的商店 所供应的全部商品 的其它商店的商店名和所在城市。
SELECT ANAME,CITY
FROM A
WHERE NOT EXISTS --第四步:从表A中查找第一、二、三步骤合并,并且不存在的记录
(SELECT *
FROM B
WHERE EXISTS --第三步:从表B中查找存在第一步和第二步条件合并的疾苦
(SELECT *
FROM AB AB1
WHERE A#='256' AND B#=B.B#) --第二步:从表AB中查找A#等于256的记录
AND NOT EXISTS --第二步:并且去除A#不能与256的记录
(SELECT *
FROM AB AB2
WHERE A#!='256' AND A#=A.A# AND B#=B.B#) --第一步:从表AB中查找A#不等于256的记录
)
再问: 我也觉得用in简单,但是想弄懂这个~能不能帮我解释下
再答: 可以,我给你弄好!你给我提高悬赏分数。 顺便补充下: “ 找出至少供应了代号为’256’的商店所供应的全部商品的其它商店的商店名和所在城市。 ”这句话是什么意思,是你自己写的么?拗口难懂啊
再问: 不是我自己写的,题目就是,我也觉得看的好拗口,又看不懂答案,所以跑来问了,我悬赏分数提高了,不够我在提高,帮个忙,我快考试了
再答: --问题:找出 至少供应了代号为’256’的商店 所供应的全部商品 的其它商店的商店名和所在城市。
SELECT ANAME,CITY
FROM A
WHERE NOT EXISTS --第四步:从表A中查找第一、二、三步骤合并,并且不存在的记录
(SELECT *
FROM B
WHERE EXISTS --第三步:从表B中查找存在第一步和第二步条件合并的疾苦
(SELECT *
FROM AB AB1
WHERE A#='256' AND B#=B.B#) --第二步:从表AB中查找A#等于256的记录
AND NOT EXISTS --第二步:并且去除A#不能与256的记录
(SELECT *
FROM AB AB2
WHERE A#!='256' AND A#=A.A# AND B#=B.B#) --第一步:从表AB中查找A#不等于256的记录
)