写点什么

sql task4 集合运算

发布于: 19 小时前

UNION 用法

假设连锁店想要增加毛利率超过 50%或者售价低于 800 的货物的存货量, 请使用 UNION 对分别满足上述两个条件的商品的查询结果求并集



SELECT  product_id,product_name,product_type       ,sale_price,purchase_price  FROM PRODUCT  WHERE sale_price<800   UNION SELECT  product_id,product_name,product_type       ,sale_price,purchase_price  FROM PRODUCT  WHERE sale_price>1.5*purchase_price;
复制代码


UNION 或者 OR 谓词

找出毛利率不足 30%或毛利率未知的商品。

SELECT *   FROM Product  WHERE sale_price  < 1.3 *purchase_price    OR sale_price  IS NULL		OR purchase_price IS NULL;
复制代码



SELECT *   FROM Product  WHERE sale_price  < 1.3 *purchase_price  UNIONSELECT *   FROM Product  WHERE sale_price  IS NULL  OR purchase_price IS NULL;
复制代码



包含重复行的集合运算 UNION ALL
SELECT product_id, product_name  FROM Product UNION allSELECT product_id, product_name  FROM Product1;
复制代码


商店决定对 product 表中利润低于 50% 或者 售价低于 1000 的商品提价, 请使用 UNION ALL 语句将分别满足上述两个条件的结果取并集.

SELECT *   FROM Product  WHERE sale_price < 1000 UNION SELECT *   FROM Product  WHERE sale_price < 1.5 * purchase_price
复制代码


inner join 交集
SELECT p1.product_id, p1.product_name  FROM Product p1INNER JOIN Product1 p2ON p1.product_name=p2.product_name
复制代码


找出只存在于 Product 表但不存在于 Product1 表的商品。

SELECT *   FROM Product WHERE product_name  NOT IN (SELECT product_name                            FROM Product1)
复制代码


其他

找出 product 和 product2 中售价高于 500 的商品的基本信息。

借助对称差的实现方式, 求 product 和 product2 的交集。


SELECT *   FROM Product WHERE product_name  IN (SELECT product_name FROM Product1)UNION SELECT *   FROM Product1 WHERE product_name  IN (SELECT product_name FROM Product)
复制代码



用户头像

还未添加个人签名 2020.10.14 加入

python爱好者

评论

发布
暂无评论
sql task4 集合运算