单表查询
--查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期、订单ID、客户ID和雇员ID等字段的值
Create View Orderquery
as
Select OrderDate,OrderID,CustomerID,EmployeeID
from Orders
where OrderDate Between '1996-07-01' and '1996-07-15'

Select * from Orderquery

--查询“Northwind”示例数据库中供应商的ID、公司名称、地区、城市和电话字段的值。条件是“地区等于华北”并且“联系人头衔等于销售代表”。
Select SupplierID,CompanyName,Address,City
from suppliers
where Region='华北' and ContactTitle='销售代表'

--查询“Northwind”示例数据库中供应商的ID、公司名称、地区、城市和电话字段的值。其中的一些供应商位于华东或华南地区,另外一些供应商所在的城市是天津
Select SupplierID,CompanyName,Region,City,Phone
from Suppliers
where Region in ('东北','华南')
or City='天津'

--查询“Northwind”示例数据库中位于“华东”或“华南”地区的供应商的ID、公司名称、地区、城市和电话字段的值
Select SupplierID,CompanyName,Region,City,Phone
from Suppliers
where Region in ('东北','华南')

多表查询
--查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期、订单ID、相应订单的客户公司名称、负责订单的雇员的姓氏和名字等字段的值,并将查询结果按雇员的“姓氏”和“名字”字段的升序排列,“姓氏”和“名字”值相同的记录按“订单 ID”的降序排列
Create procedure orderquery2
@StartOrderDate datetime='1996-07-01 00:00:00.000',
@EndOrderDate datetime='1996-07-15 23:59:59.997'
with encryption
as
Select Orders.OrderDate,Orders.OrderID,Customers.CompanyName,Employees.LastName,Employees.FirstName
from Orders join Customers
on Customers.CustomerID=Orders.CustomerID
join Employees
on Employees.EmployeeID=Orders.EmployeeID
Where OrderDate between @StartOrderDate and @EndOrderDate or OrderDate between '1998-01-01 00:00:00.000' and '1998-01-31 23:59:59.997'
Order By LastName,FirstName ASC,OrderID DESC

execute orderquery2 '1996-07-01 00:00:00.000','1996-07-15 23:59:59.999'

--查询“10248”和“10254”号订单的订单ID、运货商的公司名称、订单上所订购的产品的名称
Create view orderquery3
as
Select Orders.OrderID,Shippers.CompanyName,ProductName
From Orders join Shippers
on Shippers.ShipperID=Orders.ShipVia
join [Order Details]
on [Order Details].OrderID=Orders.OrderID
join Products
on Products.ProductID=[Order Details].ProductID

Select * from orderquery3
where OrderID =10248 or OrderID=10254

--查询“10248”和“10254”号订单的订单ID、订单上所订购的产品的名称、数量、单价和折扣
Create view orderquery4
as
Select Orders.OrderID,ProductName,quantity,Products.unitprice
From [Order Details] join Orders
on [Order Details].orderid=Orders.orderid
join Products
on Products.ProductID=[Order Details].ProductID

Select * from orderquery3
where OrderID =10248 or OrderID=10254

--查询“10248”和“10254”号订单的订单ID、订单上所订购的产品的名称及其销售金额
Create view orderquery5
as
Select Orders.OrderID,ProductName,Products.unitprice*quantity as '销售金额'
From [Order Details] join Orders
on [Order Details].orderid=Orders.orderid
join Products
on Products.ProductID=[Order Details].ProductID

Select * from orderquery5
where OrderID =10248 or OrderID=10254

综合查询
--查询所有运货商的公司名称和电话
select companyname,phone
from Shippers

--查询所有客户的公司名称、电话、传真、地址、联系人姓名和联系人头衔
select companyname,fax,phone,address,contactname,contacttitle
from customers

--查询单价介于10至30元的所有产品的产品ID、产品名称和库存量
select productid,productname,unitsinstock
from products
where unitprice between 10 and 30

--查询单价大于20元的所有产品的产品名称、单价以及供应商的公司名称、电话
select productname,unitprice,suppliers.companyname,suppliers.phone
from suppliers join products
on suppliers.supplierid=products.supplierid
where unitprice>20

--查询上海和北京的客户在1996年订购的所有订单的订单ID、所订购的产品名称和数量
select orders.orderid,productname,quantity,city
from [order details] join products
on [order details].productid=products.productid
join orders
on [order details].orderid=orders.orderid
join customers
on orders.customerid=customers.customerid
where city in('北京' ,'上海')
and
OrderDate between '1996-00-00 00:00:00' and '1996-12-31 23:59:59.999'

--查询华北客户的每份订单的订单ID、产品名称和销售金额
select orders.orderid,productname,[order details].unitprice*quantity as 销售金额
from [order details] join products
on [order details].productid=products.productid
join orders
on [order details].orderid=orders.orderid
join customers
on orders.customerid=customers.customerid
where region='华北'

--按运货商公司名称,统计1997年由各个运货商承运的订单的总数量
select companyname,count(*)
from shippers join orders
on shippers.shipperid=orders.shipvia
where year(orderdate)=1997
group by companyname

--统计1997年上半年的每份订单上所订购的产品的总数量
select orders.orderid,sum(quantity)
from [order details] join orders
on [order details].orderid=orders.orderid
where year(orderdate)=1997 and month(orderdate)>=1
and month(orderdate)<=6
group by orders.orderid

--select * from [order details] join orders
on [order details].orderid=orders.orderid
where orders.orderid=10400 and year(orderdate)=1997

--统计各类产品的平均价格
select categories.categoryname,avg(unitprice)
from products join categories
on products.categoryid=categories.categoryid
group by categories.categoryname

--统计各地区客户的总数量
select count(*)
from customers
where region is not null
group by region

Northwind数据库练习及参考答案相关推荐

  1. 《数据库原理与应用》(第三版)第15章 备份和恢复数据库 基础 习题参考答案

    1.在确定用户数据库的备份周期时,应考虑哪些因素? 答:允许丢失的数据的多少?数据的操作高峰和低谷时间等. 2.对用户数据库和系统数据库分别应该采取什么备份策略? 答:对用户数据库是周期性备份:对系统 ...

  2. 《数据库原理与应用》(第三版)第2章 数据模型与数据库结构 习题参考答案

    1.解释数据模型的概念,为什么要将数据模型分成两个层次? 答:答:数据模型是对现实世界数据特征的抽象.数据模型一般要满足三个条件:第一是数据模型要能够比较真实地模拟现实世界:第二是数据模型要容易被人们 ...

  3. 《数据库原理与应用》(第三版)第 1 章 数据库概述 习题参考答案

    1.试说明数据.数据库.数据库管理系统和数据库系统的概念. 答:数据是描述事物的符号记录. 数据库是长期存储在计算机中的有组织的.可共享的大量数据的集合. 数据库管理系统是一个专门用于实现对数据进行管 ...

  4. oracle显示数据中心类异常,Oracle_10g数据库基础教程-参考答案

    (10)说明在创建数据库时如何合理规划数据库的物理存储结构和逻辑存储结构. 略. 2.实训题 (1)使用SQL命令创建一个本地管理方式下的自动分区管理的表空间USERTBS1,其对应的数据文件大小为2 ...

  5. mysql中图书编号类型,数据库课后习题参考答案

    第 3 章 SQL语言基础及数据定义功能 1. T-SQL支持哪几种数据类型? 答:支持数值型.字符型.日期时间型和货币类型四种类型. 2. Tinyint数据类型定义的数据的取值范围是多少? 答:0 ...

  6. 数据库期末练习参考答案

    数据库期末试卷 -.关系数据库分析题(本题共10分) 某运输公司数据库中有一个车队的关系模式: R(司机编号,汽车牌照,行驶公里,车队名称,车队主管) 此处每个汽车牌照对应一辆汽车."行驶公 ...

  7. 【软考】 2019年上半年软件设计师考试上午真题(专业解析+参考答案)

    [单选题] 计算机执行指令的过程中,需要由( )产生每条指令的操作信号并将信号送往相应的部件进行处理,以完成指定的操作. A.CPU的控制器 B.CPU的运算器 C.DMA控制器 D.Cache控制器 ...

  8. 软件设计师中级: 2019年上半年软件设计师考试上午真题 专业解析+参考答案

    1 [单选题] 计算机执行指令的过程中,需要由( )产生每条指令的操作信号并将信号送往相应的部件进行处理,以完成指定的操作. 问题1选项 A.CPU的控制器 B.CPU的运算器 C.DMA控制器 D. ...

  9. ❤️万字阿里技术岗笔面试题+参考答案,自信的可以来试试❤️建议收藏

    前些日子在网上偶然间看到了一波阿里的技术笔面试题,自己自信地尝试做了一波,但结果很可惜,在不上网搜参考的情况下,20道题我只做出来8个-真尴尬. 题目水平高低起伏,这里我先把所有题目给大家看一遍,大多 ...

  10. 参考答案-数据库原理测试一

    测试一参考答案 1.建表与插入数据 create database School;use School;create table Classes (cid int primary key,cname ...

最新文章

  1. 【数据结构】单链表的应用(C语言)
  2. 基于 Kubernetes 的微服务项目设计与实现
  3. JS最流行Rust最受喜爱Clojure最赚钱,PHP:那我走?|2021年全球开发者报告
  4. 解决ping的IP 但是ping 不通域名的问题 或者请求找不到主机 请检查该名称
  5. Programming Computer Vision with Python (学习笔记四)
  6. Django + Uwsgi + Nginx 的生产环境部署
  7. 小甲鱼c++学习视频之运算符重载
  8. 检测Product 或者Object是否被IBASE 引用的report
  9. php interbase,PHP: Firebird/InterBase - Manual
  10. hadoop--hadoop集群常用脚本
  11. idea 父文件_在ideal创建新的模块(子项目,同时依赖父模块)
  12. lisp读取天正轴号_第2天:Python 基础语法
  13. 昆仑万维14亿收购音频社交平台Star Group 60%股权 周亚辉获益超10亿元
  14. 头部导航菜单选中状态切换
  15. 转:2016年崛起的js项目
  16. Java经典设计模式 总览
  17. JAVA 如何将String进行大小写转换
  18. vivo nex免Root使用空调狗
  19. 1959年第一台电子计算机,1、 一般认为,世界上第一台电子数字计算机诞生于______。 A.1946年 B.1952年 C.1959年 D.1962年...
  20. 董明珠为什么选择长沙?

热门文章

  1. 毕业设计,管理系统,大学生毕业设计应该这么做
  2. 手机号码校验(手机号---座机号)
  3. 计算机专业wor知识,计算机专业毕业实习日记精选
  4. 并发编程、并行、多线程、锁、同步、异步、多线程、单线程、阻塞io、非阻塞io
  5. SpringBoot工作原理
  6. 重庆工商大学研究生院计算机,重庆工商大学研究生院
  7. 修正的判定/条件覆盖
  8. linux下使用 sb接口扫描仪,怎样在Linux下设置和使用扫描仪.doc
  9. 2018秋招360测评试题及其答案
  10. 手机工商银行显示服务器安装不了,工行网银助手无法安装怎么办?