sql查询所有商品的信息_属于菜鸟的sql 干货(7)

本文介绍了如何使用SQL查询商品信息,包括查询特定商品的供应商信息、所有商品与供应商的关联信息、复合条件连接查询,以及通过子查询获取商品的平均价格并筛选高价商品。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

056427e530151628b629774ee6a82bb6.png

简单的多表查询 对表的常规操作事例

注 注 注 意:在做每一题时思考如何将需求转化成sql语句,思考逻辑,思考怎样实现,建议手动操作服用,效果更佳。建议多找案例多练!多练!多练!多思考!,学会sql则是水到渠成。

建立供应商信息表

create table supplierss(

s_id int primary key,

s_name varchar(50),

s_city varchar(30)

);

insert into supplierss values(

101,'供应商01','北京市'),

(102,'供应商02','北京市'),

(103,'供应商03','上海市'),

(104,'供应商04','北京市'),

(105,'供应商05','广州市'),

(106,'供应商06','保定市'),

(107,'供应商07','北京市'),

(108,'供应商08','石家庄市'),

(109,'供应商09','北京市');

新建商品表

CREATE TABLE fruitss(

f_id char(10) not null,

s_id int not null,

f_name char(255) not null,

f_price DECIMAL(8,2) not null,

PRIMARY KEY (f_id)

);

商品表插入信息

insert into fruitss(f_id,s_id,f_name,f_price)values

('a1',101,'apple',5.2),

('b1',101,'blackbeery',10.2),

('bs1',102,'orange',11.2),

('bs2',105,'melon',8.2),

('t1',102,'banana',10.3),

('t2',102,'grape',5.3),

('o2',103,'coconut',9.2),

('c0',101,'cherry',3.2),

('a2',103,'apricot',25.2),

('12',104,'lemon',6.4),

('b2',104,'berry',7.6),

('m1',106,'mango',15.6),

('m2',105,'xbabay',2.6),

('t4',107,'xbababa',3.6),

('b5',107,'xxxx',3.6);

1.查询apple这个商品的供货商信息

正常思维可写成

SELECT fruitss.s_id,f_name,f_price,s_name,s_city

FROM supplierss,fruitss

WHERE f_name='apple' and fruitss.s_id=supplierss.s_id;

-----使用别名可写成

SELECT f.s_id,f_name,f_price,s_name,s_city

FROM supplierss s,fruitss f

WHERE f_name='apple' and f.s_id=s.s_id;

ANSI对多表连接规定的写法(制定sql标准的组织)

INNER JOIN 内链接,inner 可省略

SELECT f.s_id,f_name,f_price,s_name,s_city

FROM supplierss s inner JOIN fruitss f

on s.s_id=f.s_id

WHERE f_name='apple';

2.查询所有商品以及供应商的信息

正常思维可写成,看查询结果没有供应商品的供应商无信息

SELECT f.s_id,f_name,f_price,s_name,s_city

FROM supplierss s inner JOIN fruitss f

on s.s_id=f.s_id;

使用外连接将所有的供应商信息查询出来(左外连接 LEFT JOIN 右外连接 RIGHT JOIN)

SELECT f.s_id,f_name,f_price,s_name,s_city

FROM supplierss s LEFT JOIN fruitss f

on s.s_id=f.s_id;

3.复合条件连接查询

42cebd4ef46a03d1537a86af8a09570e.png

可对查询出的结果进行排序或其他操作,与单表操作无异。

子查询

比如一个select 语句中嵌套一个select语句

4.查询商品的平均价格

SELECT avg(f_price) FROM fruitss;

5.查询 所有价格高于 平均价格的商品信息(先执行子查询,再执行外部查询)

SELECT * FROM fruitss

WHERE f_price>(SELECT avg(f_price) FROM fruitss);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值