MYSQL

-- 添加数据以及如何查询
CREATE DATABASE table;
CREATE TABLE t_shop(
    _id INT PRIMARY KEY AUTO_INCREMENT,
    _shopcode VARCHAR(30),
    _name VARCHAR(40),
    _fk INT
);
INSERT INTO t_shop(_shopcode,_name,_fk) VALUES
                    ('n11','苹果',1),
                    ('n12','白菜',2),
                    ('a13','冬瓜',3),
                    ('n14','西瓜',4),
                    ('n15','丝瓜',5),
                    ('c16','苦瓜',6),
                    ('m17','南瓜',5),

CREATE TABLE t_price(
    _pid INT PRIMARY KEY,
    _price FLOAT
);
INSERT INTO t_price(_pid,_price) VALUES
                                (1,9.0),
                                (2,3.2),
                (3,5.5),
                (4,6.0),
                (5,6.3),
                (6,6.6);
 两张表通过 t_shop._fk  和 t_price._pid 进行关联


--  要求
-- 1  查询所有瓜的所有信息,包括价格
SELECT * FROM t_price,t_shop  WHERE t_shop._fk=t_price._pid AND t_shop._name LIKE '%瓜%'
-- 2  查询价格在4.0 到8.0 的所有商品信息
SELECT * FROM t_price,t_shop WHERE t_shop._fk=t_price._pid AND t_price._price BETWEEN 4 AND 8
-- 3  查询查询同价格的商品信息
SELECT * FROM t_price,t_shop WHERE t_shop._fk=t_price._pid AND t_price._price INLECT t_price._price FROM t_price,t_shop WHERE t_shop._fk=t_price._pid GROUP BY t_price._price HAVING COUNT(*)>=2)

-- 4  查询最高价格商品信息
SELECT * FROM t_price,t_shop WHERE t_shop._fk=t_price._pid AND t_price._price=(SELECT t_price._price FROM t_price,t_shop WHERE t_shop._fk=t_price._pid GROUP BY t_price._price ORDER BY t_price._price DESC LIMIT 1)

-- 5  查询查询商品价格最高的前三个商品的信息
SELECT * FROM t_price,t_shop WHERE t_shop._fk=t_price._pid GROUP BY t_price._price DESC LIMIT 3
-- 6  查询所有商品的平均价格
SELECT AVG(t_price._price) FROM t_price,t_shop WHERE t_shop._fk=t_price._pid
-- 7  查询所有瓜的平均价格
SELECT AVG(t_price._price) FROM t_price,t_shop WHERE t_shop._fk=t_price._pid AND t_shop._name LIKE '%瓜%'
-- 8  查询最高商品的价格是最低商品的价格的倍数是多少
SELECT(SELECT MAX(t_price._price) FROM t_price,t_shop WHERE t_shop._fk=t_price._pid)/(SELECT MIN(t_price._price) FROM t_price,t_shop WHERE t_shop.=t_price._pid)

-- 9  查询和丝瓜有相同价格的商品信息
SELECT * FROM t_price,t_shop WHERE t_shop._fk=t_price._pid AND t_price._price=(SELECT t_price._price FROM t_price,t_shop WHERE t_shop._fk=t_price._pid AND t_shop._name="丝瓜") AND t_shop._name!="丝瓜"

-- 10 查询 是最低价格的商品的整数倍价格,的商品信息(例如最低价格商品是白菜,3.0。
--     它的整数倍3.0 6.0 9.0 等等这些价格的商品信息)。
SELECT t_price._price FROM t_price,t_shop WHERE t_shop._fk=t_price._pid AND t_price._price%(SELECT t_price._price FROM t_price,t_shop WHERE t_shop._fk=t_price._pid AND t_price._price<=ALL(SELECT t_price._price FROM t_price,t_shop WHERE t_shop._fk=t_price._pid))=0


转载于:https://my.oschina.net/u/1985334/blog/300141

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值