sql查询语句学习测试答案
-
第一部分
SQL
查询语句的学习
单表查询
1
、
--
查询订购日期在
19
96
年
7
月
1
日至
1996
年
7
月
15
日之间的订单的订购日期、
订
单
ID
、客
户
ID
和雇员
ID
等字段的值
use
eee
SELECT
订购日期
,
订单
ID
,
客户
ID
,
雇员
ID
FROM
订单
WHERE
订购日期
BETWEEN
'1996-7-1
00:00:00'
AND
'1996-7-15 23:59:59'
2
、
--<
/p>
查询
“Northwind”
示例数据库
中供应商的
ID
、公司名称、地区、城市和电话字段的
值。条件是
“
地区等于华北
”
并且
“
联系人头衔等于销售代表
”
。
use
eee
SELECT
供应商
ID
,
公司名称
,
地区
,
城市
,
电话
FROM
供应商
WHERE
地区
=
'
华北
'
AND
联系人职务
=
'
销售代表
'
3
、
p>
--
查询
“Northwind”
示例数据库中供应商的
ID
、公司名称、地区、
城市和电话字段的
值。其中的一些供应商位于华东或华南地区,另外一些供应商所在的城
市是天津
use
eee
SELECT
供应商
ID
,
公司名称
,
地区
,
城市
,
电话
FROM
供应商
WHERE
地区
IN(
'
华东
'
< br>,
'
华南
'
)
OR
城市
=
'
天津
'
4
、
--
查询
“Northwind”
示例数据库中位于
“
华东
”
或
“
华南
”
地区的供应商的
ID
、公司名称、
地区、城市和电话字段的值
p>
use
eee
SELECT
供应商
ID
,
公司名称
,
地区
,
城市
,
电话
FROM
供应商
WHERE
地区
IN(
'
华东
'
< br>,
'
华南
'
)
多表查询
5
、
--
查询订购日期在
1996
年
7
月
1
日至
1996
年
7
月
15
日之间的订单的订购日期、
订
单
ID
、相应订单的客
户公司名称、负责订单的雇员的姓氏和名字等字段的值,并将查询结
果按雇员的
“
姓氏
”
和
“
名字
”
字段的升序排列
,
“
姓氏
”
和
“
名字
”
值相
同的记录按
“
订单
< br>ID”
的
降序排列
use
eee
SELECT
订购日期
,
订单
ID
,
公司名称
,
姓氏
,
名字
FROM
p>
订单
,
雇员
,
p>
客户
WHERE
订购日期
BETWEEN
'1996-7-1 00:00:00'
AND
'1996-7-15
23:59:59'
AND
p>
订单
.
雇员
ID
=
雇员
.<
/p>
雇员
ID
AND
订单
.
客户
ID
=
客户
.<
/p>
客户
ID
ORDER
BY
姓氏
,
名字
ASC
,
订单
ID
DESC
6
、
--
查询
“10248”
和
“10254”
< br>号订单的订单
ID
、运货商的公司名称、订单上所订购的
产
品的名称
use
eee
SELECT
订单
< br>.
订单
ID
,
< br>公司名称
,
产品名称
FROM
订单
,
运货商
,
产品
,
订单明细
WHERE
订单
.
订单
ID
IN(
'10248'
,
'10254'
< br>)
AND
订单
.
订单
ID
=
订单明细
.
订单
ID
AND
订单明细
.
产品
ID
=
产品
.<
/p>
产品
ID
AND
订单
.
运货商
=
运货商
.
运货商
ID
7
、
--<
/p>
查询
“10248”
和
< br>“10254”
号订单的订单
ID
、订单上所订购的产品的名称、数量、单
价和折扣
use
eee
SELECT
订单
< br>.
订单
ID
,
< br>产品名称
,
数量
,
订单明细
.
单价
,
折扣
FROM
p>
订单
,
产品
,
p>
订单明细
WHERE
订单
.
订单
ID
IN(
'10248'
,
'10254'
< br>)
AND
订单
.
订单
ID
=
订单明细
.
订单
ID
AND
订单明细
.
产品
ID
=
产品
.<
/p>
产品
ID
8
、
--
查询
“
10248”
和
“10254”
号订单
的订单
ID
、订单上所订购的产品的名称及其销售金
额
use
eee
SELECT
订单
< br>.
订单
ID
,
< br>产品名称
,
数量
*
订单明细
.
单价
*(
1
-
折扣
)
AS
销售金额
FROM
订单
,
产品
,
订单明细
< br>
WHERE
订单
.
订单
ID
IN(
p>
'10248'
,
'10254'
)
AND
订单
.
订单
ID
=
订单明细
.
订单
ID
AND
订单明细
.
产品
ID
=
产品
.<
/p>
产品
ID
综合查询
9
、
--
查询所有运货商的公司名称和电话
use
eee
SELECT
公司名称
,
电话
FROM
运货商
1
0
、
--
查询所有客户的公司名称、电
话、传真、地址、联系人姓名和联系人头衔
use
eee
SELECT
公司名称
,
电话
,
传真
,
地址
,
联系人姓名
,
联系人职务
FROM
客户
11
、
--
查询单价介于
< br>10
至
30
元的所有产品的产品
ID
、产品名称和库存量
use
eee
SELECT
产品
< br>ID
,
产品名称
,
库存量
FROM
产品
WHERE
单价
BETWEEN
10
AND
30
12
、
--
查询单价大于
20
元的所有产品的产品名称、单价以及供应商的公司名称、电话
use
eee
SELECT
产品名称
,
单价
,
公司名称
,
电话
FROM
产品
,
供应商
WHERE
单价
>
20
AND
产品
.
供应商
ID
=
供应商
.
供应商
ID
13
、
--
查询上海和北京的客户在
1996
年订
购的所有订单的订单
ID
、所订购的产品名称和
数量
use
eee
SELECT
订单
< br>.
订单
ID
,
< br>产品名称
,
数量
FROM
产品
,
订单
,
订单明细
< br>,
客户
WHERE
城市
IN
(
'
上海
'
,<
/p>
'
北京
'
)
p>
AND
YEA
R
(
订购日期
)=
1996
AND
产品
.
产品
ID
=
订单明细
.
产品
ID
AND
订单
.
订单
ID
=
订单明细
.
订单
ID
AND
订
单
.
客户
ID
=
客户
.<
/p>
客户
ID
1
4
、
--
查询华北客户的每份订单的订
单
ID
、产品名称和销售金额
use
eee
SELECT
订单
< br>.
订单
ID
,
< br>产品名称
,
数量
*
订单明细
.
单价
*(
1
-
折扣
)
AS
销售金额
FROM
产品
,
订单
,
订单明细
< br>,
客户
WHERE
地区
=
'
华北
'
AND
产品
.
产品
I
D
=
订单明细
.
产品
ID
AND
订单
.
订单
ID
=
订单明细
.
订单
ID
AND
订单
.
客户
ID
=
客户
.<
/p>
客户
ID
15
、
--
按
运货商公司名称,统计
1997
年由各个运货商承运的订单的总
数量
use
eee
SELECT
公司名称
,
COUNT
(
订单
ID
)
AS
订单总数量
FROM
订单
,
运货商
WHERE
YEAR
(
发货日期
)=
1997
AND
订单
.
运货商
=
运货商
.
运货商
ID
GROUP
BY
公司名称
16
、
--
统计
1997
年上半年的每份订单上所订购的产品的总数量
use
eee
SELECT
订单
< br>.
订单
ID
,
< br>SUM
(
数量
)
AS
总数量
FROM
订单
,
订单明细
WHERE
订购日期
BETWEEN
'1997-1-1
00:00:00'
AND
'1997-6-30 23:59:59'
AND
订单
.
订单
ID
=
订单明细
.
订单
ID
GROUP
BY
订单
.
订单
ID
17
、
--
统计各类产品的平均价格<
/p>
use
eee
SELECT
类别名称
,
SUM
(
单价
*
库存量
)/
SUM
p>
(
库存量
)
AS
FROM
产品
,
类别
WHERE
产品
.
类别
ID
=
类别
.<
/p>
类别
ID
GROUP
BY
类别名称
18
、
--
统计各地区客户的总数量<
/p>
use
eee
SELECT
地区
< br>,
COUNT
(
客户
ID
)
AS
客户数量
FROM
客户
GROUP
BY
地区
平均价格
第二部分
SQL
查询强化测试
1.
找出供应商名称,所在城市
use
eee
SELECT
公司名称
,
城市
FROM
供应商
2.
找出华北地区能够供应海鲜的所有供应商列表。
use
eee
SELECT
公司名称
FROM
供应商
,
类别
,
产品
WHERE
地区
=
'
华北
'
AND
类别名称
=
'
海鲜
'
AND
产品
.
类别
ID
=
类别
.<
/p>
类别
ID
AND
产品
.
供应商
ID
=
供应商
.
供应商
ID
3.
找出订单销售额前五的订单是经由哪家运货商运送的。
use
eee
SELECT
TOP
(
5
)
订单
< br>.
订单
ID
,
< br>SUM
(
订单明细
.
单价
*(
1
-
折扣
)*
数量
)
AS
销售额
,
公司名称
FROM
订单
,
订单明细
,
运货商
WHERE
订单
.
订单
ID
=
订单明细
.
订单
ID
AND
订单
.
运货商
=
运货商
.
运货商
ID
GROUP
BY
订单
.
订单
ID
,
公
司名称
ORDER
BY
销售额
DESC