--在示例数据库Northwind中,执行数据查询,要求如下:
use Northwind
go
--1、在”Suppliers”表中查询,得到不同的地区有多少家供应商的信息;
select sum( SupplierID) 总数,Country 国家 from dbo.Suppliers
group by Country
--2、在”Suppliers”表中查询,显示哪些供应商有传真;
select CompanyName 供应商 from dbo.Suppliers
where Fax is not null
--3、在“Products”表中查询,查询不同产品所订购的总价;
select sum(UnitPrice)总价 ,ProductName 产品 from dbo.Products
group by ProductID,ProductName
--4、在”Orders”表中查询,查询运货费排名前十位的所有信息;
select top 10 * from dbo.Orders
order by Freight desc
====================================================================
--在示例数据库Pubs中执行数据查询,要求如下:
use pubs
go
--1、查询Titles表,返回所有royalty列非空的数据行;
select * from dbo.titles
where royalty is not null
--2、查询Titles表,返回advance列值大于7000的行数;
select count(advance) 行数 from dbo.titles
where advance>7000
--3、查询Titles表,按照type列进行分组,
--显示每一组中type值、Price的平均值;
select type,avg(Price) Price平均值 from dbo.titles
group by type
--4、查询TitleAuthor表中,按照Title_ID进行分组查询,
--并显示每一组中royaltyper的最大值,
--查询限制条件的要求是:au_id的值必须不以”8”开头,但必须包含字符”8”;
select max(royaltyper)最大值,Title_ID from dbo.titleauthor
group by Title_ID
having Title_ID like '%8%'
--5、查询Sales表,要求返回ord_date在1993年到1994年之间,
--查询结果按照title_id降序的方式进行显示;
select * from Sales
where ord_date between '1993-1-1' and '1994-1-1'
order by title_id desc
--6、查询Sales表,只返回40%的行;
select top 40 percent * from dbo.sales
--7、编写一个查询,找出现有图书的各个类别(不能有重复值)
select distinct type from dbo.titles
--8、编写一个查询,显示各个作者的版权费(royaltyper)的总和
select sum(royaltyper) 版权费,au_id 编号 from dbo.titleauthor
group by au_id
--9、编写一个查询,显示sales表中各个Title的数量的平均值