实验案例二:多表查询
实验环境
某公司有一台已经安装了SQL Server 2016的服务器,class数据库中包含products表和 sales表.表中内容分别如图4.22和图4.23所示。
1,在products表和sales 表中查询产品的名称.种类.成本、销售地点和销售价格。
2,在products表和sales表中查询销往海南的产品名称、种类.成本和销售价格。
3,在products表和sales表中查询销往北京的蔬菜名称.种类.成本和销售价格。
1,在SSMS中新建查询.查询所用的数据库为class。
2,对需求进行分析.三个需求都需要使用内联接查询。
3,按需求编写T-SOL查询语句。
4,验证结果。执行所编写的T一SQL查询语句。
新建 products 表
新建 sales 表
create table sales
(
名称 nvarchar(10) not null,
销售地点 nvarchar(50) not null,
销售价格 money not null
)
select * from products
insert into sales (名称,销售地点,销售价格)
values ('苹果','河北','5.0000'),
('香蕉','湖南','6.2000'),
('番茄','湖南','3.1500'),
('黄瓜','湖北','2.4500'),
('芹菜','河北','1.1100'),
('草莓','北京','10.0000'),
('哈密瓜','北京','8.9800'),
('蓝莓','上海','59.9000'),
('核桃','海南','35.8000')
select products.名称,products.种类,products.成本,sales.名称,sales.销售地点,sales.销售价格
from products,sales
where products.名称=sales.名称
方法二
select products.名称,products.种类,products.成本,sales,销售地点,sales.销售价格
from products,sales
where products.名称 = sales.名称
select products.名称 名称products,products.种类 种类products,products.成本 成本products,
sales.名称 名称sales,sales.销售地点 销售地点sales,sales.销售价格 销售价格sales
from sales inner join products on sales.名称=products.名称
where 销售地点='海南'
方法二
select products.名称,products.种类,products.成本,sales.销售价格
from products,sales
where products.名称 = sales.名称 and sales.销售地点 = ‘海南’
select products.名称 名称products,products.种类 种类products,products.成本 成本products,
sales.名称 名称sales,sales.销售地点 销售地点sales,sales.销售价格 销售价格sales
from sales inner join products on sales.名称=products.名称
where 销售地点='湖北' and 种类='蔬菜'
方法二
select products.名称,products.种类,products.成本,sales.销售价格
from products,sales
where products.名称 = sales.名称 and sales.销售地点 = '北京' and products.种类 = '蔬菜'