当前位置:文档之家› 网络数据库管理系统-第五章

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


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 显示指定的、带用户友好的列标 题的列
depart city ment 经管 山东泰安 经管 山东东营 经管 浙江金华
phone
13944440022 13100003322 15877779922
例:显示数据库Student的表Student中 所有的数据。
USE Student GO SELECT * FROM Student
studentid
depart city ment 经管 山东泰安 经管 山东东营 经管 浙江金华
phone
13944440022 13100003322 15877779922
例:现在需要一张包含所有学生(student)的 姓名、城市、电话号码的报表。
USE Student GO SELECT studentname, city, phone FROM Student
SELECT 姓名=StudentName, 城市=City, 电话=Phone
FROM Student WHERE
City=‘山东泰安’ OR City=‘浙江金华’
结果如下:
姓名
------张三 王五
城市
电话
------------ ----------------山东泰安 13944440022 浙江金华 15877779922
FROM OrderDetail GROUP BY cOrderNo
结果如下:
Order Number Total Cost of Toy for an Order
------------------ ------------------------------
000001
54.9700
000002
…… …… ……
5.1.4 用条件来筛选表中指定的行
• 按指定的条件检索并显示数据 • 用SELECT子句检索并显示数据 • IS NULL 和IS NOT NULL关键字
按指定的条件检索并显示数据
SELECT子句的语法如下: SELECT 选择列表 FROM 表名 WHERE 条件
例5-4:现在需要一张家住在山东泰安的 学生的姓名、城市、电话号码的报表。
结果如下:
Toy Name
Toy Rate
--------------------
---------------------
Flower Loving Doll
49.9900
Victorian Dollhouse 43.2500
Super Deluge
35.9900
Racing Truck
35.9900
IS NULL 和IS NOT NULL关键字
用SELECT语句检索并显示指定列的值为NULL 的那些行的数据,语法如下:
SELECT 选择列表 FROM 表名 WHERE 列名 IS [NOT] NULL
例5-7:显示没有任何附加信息的订货的全部 信息。
SELECT * FROM OrderDetail WHERE vMessage is NULL
语法1: SELECT 列标题=列名[,列名…] FROM [表名]
语法2: SELECT 列名 列标题[,列名…] FROM [表名]
语法3: SELECT 列名 AS 列标题[,列名…] FROM [表名]
例5-3:现在需要一张包含所有学生的姓名、城 市、电话号码的报表。
USE Student GO SELECT 姓名=StudentName, 城市=City,
SELECT 列名[,列名…] FROM 表名 WHERE 搜索条件
[GROUP BY [ALL] 不包含集合函数的表达式 [,不包含集合函数的表达式…]]
[HAVING 搜索条件]
例5-11:在一次订货中,可以订购多个玩具。显 示包含订货代码和每次订货的玩具总价的报表。
SELECT ‘Order Number’=cOrderNo, ‘Total Cost of Toy for an Order’ = SUM (mToyCost)
USE ToyUniverse GO SELECT * FROM Toys
结果如下: cToyId vToyName …… ---------- ---------------------000001 Robby the Whale 000002 Water Channel System 000003 Parachute and Rocket …… …… ……
5.1.2 显示一张表上指定列的所有数据
从单个表中检索指定列、所有行的 SELECT子句的语法如下:
SELECT 列名 [,列名] …FROM [表名]
提示:列名也可以是经过计算的值,包 括几个列的组合。
表 Student
studentid
0906101 0906102 0906103
student sex name 张三 男 李四 男 王五 女
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
SELECT vFirstName, vLastName, cCity, cPhone FROM Recipient
结果如下:
vFirstName vLastName cCity
cPhone
-------------- -------------- -------------- --------------
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
结果如下:
cOrderNo cToyId siQty vMessage mToyCost
---------- --------- ------- ----------- -----------Βιβλιοθήκη 000001 000007 2
39.9800
000003 000017 3
71.9700
000007 000006 1
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
结果如下:
studentName City
-------------- --------------
张三
山东泰安
李四
山东东营
王五
浙江金华
Phone -------------13944440022 13100003322 15877779922
例5-2:现在需要一张包含所有接受者 (Recipient)的姓名、城市、电话号码的报表。
电话=Phone FROM Student 或 SELECT StudentName 姓名, City 城市,
Phone 电话 FROM Student
结果如下:
姓名 城市
电话
------张三 李四 王五
-----------山东泰安 山东东营 浙江金华
----------------13944440022 13100003322 15877779922
5.1.1 显示表中的所有数据
用SELECT 子句检索单个表中所有的列 和行的语法如下:
SELECT * FROM 表名
提示:可以用星号(*)来指定所有列。
表 Student
studentid
0906101 0906102 0906103
student sex name 张三 男 李四 男 王五 女
• 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 查询语句小结
第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 对查询的结果进行分组计算
相关主题