网络数据库管理系统-第五章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如果根据多重条件,用SELECT子句检索并显 示数据的语法如下:
SELECT 选择列表 FROM 表名 WHERE
[NOT] 条件1 {AND | OR } [NOT] 条件2
例5-5:显示价格范围在$15~$20之间的 所有玩具的列表。
SELECT cToyId, vToyName, mToyRate, siToyQoh
86.5000
000003
71.9700
…… …… ……
例5-12:在一次订货中,可以订购多个玩具。显示包含订货 代码和每次订货的玩具总价的报表。(条件:该次订货的玩
具总价超过$50)
SELECT ‘Order Number’ = cOrderNo, ‘Total Cost of Toy for an Order’ = SUM(mToyCost) FROM orderdetail GROUP BY cOrderNo HAVING SUM (mToyCost)>50
电话=Phone FROM Student 或 SELECT StudentName 姓名, City 城市,
Phone 电话 FROM Student
结果如下:
姓名 城市
电话
------张三 李四 王五
-----------山东泰安 山东东营 浙江金华
----------------13944440022 13100003322 15877779922
用SELECT子句在一张表中检索一列的 唯一值的语法如下:
SELECT DISTINCT 列名 FROM 表名
例5-10:显示玩具接收者所属的所有省 份,省份名不应该有重复。
SELECT DISTINCT cState FROM Recipient
结果如下: CState --------California …………… Georgia
SELECT 姓名=StudentName, 城市=City, 电话=Phone
FROM Student WHERE City=‘山东泰安’
结果如下:
姓名 ------张三
城市 -----------山东泰安
电话 ----------------13944440022
用SELECT子句检索并显示数据
结果如下:
cOrderNo cToyId siQty vMessage mToyCost
---------- --------- ------- ----------- -----------
000001 000007 2
39.9800
000003 000017 3
71.9700
000007 000006 1
Water Channel System 33.9900
……………
5.1.6 对查询的结果进行分组计算
例5-9:显示玩具价格的最大值、最小值 和平均值。 SELECT MAX(mToyRate),
MIN(mToyRate), AVG(mToyRate) FROM Toys
结果如下:
----------- --------- ----------49.9900 6.9900 19.9644
• 5.1.7 用TOP限制结果集 • 5.1.8 汇总数据 • 5.1.9 字符串函数 • 5.1.10 日期函数 • 5.1.11 数学函数 • 5.1.12 模糊查询
• 5.1.13 内联结 • 5.1.14 外联结 • 5.1.15 合并查询结果集 • 5.1.16 子查询 • 5.1.17 查询语句小结
FROM OrderDetail GROUP BY cOrderNo
结果如下:
Order Number Total Cost of Toy for an Order
------------------ ------------------------------
000001
54.9700
000002
SELECT 列名[,列名…] FROM 表名 WHERE 搜索条件
[GROUP BY [ALL] 不包含集合函数的表达式 [,不包含集合函数的表达式…]]
[HAVING 搜索条件]
例5-11:在一次订货中,可以订购多个玩具。显 示包含订货代码和每次订货的玩具总价的报表。
SELECT ‘Order Number’=cOrderNo, ‘Total Cost of Toy for an Order’ = SUM (mToyCost)
语法1: SELECT 列标题=列名[,列名…] FROM [表名]
语法2: SELECT 列名 列标题[,列名…] FROM [表名]
语法3: SELECT 列名 AS 列标题[,列名…] FROM [表名]
例5-3:现在需要一张包含所有学生的姓名、城 市、电话号码的报表。
USE Student GO SELECT 姓名=StudentName, 城市=City,
Barbara Johnson Sunnyvale 123-5673
Catherine Roberts San Jose 445-2256
Christopher Davis
Hill Avenue 556-9087
Jennifer Martin Brooklyn 569-7789
…… …… ……
5.1.3 显示指定的、带用户友好的列标 题的列
5.1.2 显示一张表上指定列的所有数据
从单个表中检索指定列、所有行的 SELECT子句的语法如下:
SELECT 列名 [,列名] …FROM [表名]
提示:列名也可以是经过计算的值,包 括几个列的组合。
表 Student
studentid
0906101 0906102 0906103
student sex name 张三 男 李四 男 王五 女
SELECT vToyName AS ‘Toy Name’, mToyRate AS ‘ Toy Rate’
FROM Toys ORDER BY mToyRate desc
SELECT vToyName AS ‘Toy Name’, mToyRate AS ‘ Toy Rate’
FROM Toys ORDER BY 2 desc
12.9900
5.1.5 按指定顺序显示数据(排序)
用SELECT子句按给定顺序检索并显示数据 的语法如下:
SELECT 选择列表 FROM 表名 [ORDER BY 列名|选择的列的序号|表达式[ASC|DESC]
[, 列名|选择的列的序号|表达式 [ASC|DESC]…]
例5-8:显示所有玩具的名字和价格。确保价 格最高的玩具显示在列表的顶部。
FROM Toys WHERE
mToyRate >=15 AND mToyRate <=20
结果如下: cToyId vToyName ----------- -----------------------000005 Light Show Lamp 000007 Tie Dye Kit 000009 Glamorous Doll 000011 Sleeping Beauty Doll 000018 Children Bedroom 000023 Tin Drum 000027 X-90 Racers Set 000031 Large Duck
5.1.1 显示表中的所有数据
用SELECT 子句检索单个表中所有的列 和行的语法如下:
SELECT * FROM 表名
提示:可以用星号(*)来指定所有列。
表 Student
studentid
0906101 0906102 0906103
student sex name 张三 男 李四 男 王五 女
结果如下:
Toy Name
Toy Rate
--------------------
---------------------
Flower Loving Doll
49.9900
Victorian Dollhouse 43.2500
Super Deluge
35.9900
Racing Truck
35.9900
第5章 数据的查询和修改
5.1 数据的查询 5.2 数据的修改 5.3 本章小结 复习思考题
5.1 数据的查询
• 5.1.1 显示表中的所有数据 • 5.1.2 显示一张表上指定列的所有数据 • 5.1.3 显示指定的、带用户友好的列标题的列 • 5.1.4 用条件来筛选表中指定的行 • 5.1.5 按指定顺序显示数据(排序) • 5.1.6 对查询的结果进行分组计算
depart city ment 经管 山东泰安 经管 山东东营 经管 浙江金华
phone
13944440022 13100003322 15877779922
例:现在需要一张包含所有学生(student)的 姓名、城市、电话号码的报表。
USE Student GO SELECT studentname, city, phone FROM Student
…… …… ……
5.1.4 用条件来筛选表中指定的行
• 按指定的条件检索并显示数据 • 用SELECT子句检索并显示数据 • IS NULL 和IS NOT NULL关键字
按指定的条件检索并显示数据
SELECT子句的语法如下: SELECT 选择列表 FROM 表名 WHERE 条件
例5-4:现在需要一张家住在山东泰安的 学生的姓名、城市、电话号码的报表。
0906101 Hale Waihona Puke Baidu906102 0906103
student sex name 张三 男 李四 男 王五 女
depart city ment 经管 山东泰安 经管 山东东营 经管 浙江金华
phone
13944440022 13100003322 15877779922
例5-1:显示数据库ToyUniverse的表 Toys中所有的数据。
USE ToyUniverse GO SELECT * FROM Toys
结果如下: cToyId vToyName …… ---------- ---------------------000001 Robby the Whale 000002 Water Channel System 000003 Parachute and Rocket …… …… ……
结果如下:
studentName City
-------------- --------------
张三
山东泰安
李四
山东东营
王五
浙江金华
Phone -------------13944440022 13100003322 15877779922
例5-2:现在需要一张包含所有接受者 (Recipient)的姓名、城市、电话号码的报表。
mToyRate siToyQoh
--------------- --------------
15.9900
58
19.9900
76
18.9900
39
18.9900
65
16.9900
15
15.9900
88
19.9900
77
17.9900
88
例5-6:显示属于山东泰安和浙江金华的学生 的名字、城市和电话。
depart city ment 经管 山东泰安 经管 山东东营 经管 浙江金华
phone
13944440022 13100003322 15877779922
例:显示数据库Student的表Student中 所有的数据。
USE Student GO SELECT * FROM Student
studentid
IS NULL 和IS NOT NULL关键字
用SELECT语句检索并显示指定列的值为NULL 的那些行的数据,语法如下:
SELECT 选择列表 FROM 表名 WHERE 列名 IS [NOT] NULL
例5-7:显示没有任何附加信息的订货的全部 信息。
SELECT * FROM OrderDetail WHERE vMessage is NULL
SELECT vFirstName, vLastName, cCity, cPhone FROM Recipient
结果如下:
vFirstName vLastName cCity
cPhone
-------------- -------------- -------------- --------------
SELECT 姓名=StudentName, 城市=City, 电话=Phone
FROM Student WHERE
City=‘山东泰安’ OR City=‘浙江金华’
结果如下:
姓名
------张三 王五
城市
电话
------------ ----------------山东泰安 13944440022 浙江金华 15877779922
相关文档
最新文档