补充SQL应用举例.ppt
《补充SQL应用举例.ppt》由会员分享,可在线阅读,更多相关《补充SQL应用举例.ppt(28页珍藏版)》请在三一办公上搜索。
1、SQL 应用举例,SQL 应用举例,2)插入数据declare counter smallintset counter=1while counter=300begin insert into t values(1+RAND(counter),2+RAND(2*counter),3+RAND(3*counter),4+RAND(4*counter)set counter=counter+1end,构建表T(a,b,c,d),其中a,b,c,d全部定义为number型,用程序随机插入300行数据,然后对字段c降序排序后,取第2130条记录显示。,1)创建表结构create table T(a nu
2、meric(20,17),b numeric(20,17),c numeric(20,17),d numeric(20,17),1,SQL 应用举例,构建表T(a,b,c,d),其中a,b,c,d全部定义为number型,用程序随机插入300行数据,然后对字段c降序排序后,取第2130条记录显示。,1,3)查询select top 10*from(select top 30*from T order by C desc)as temptableorder by C asc,SQL 应用举例,点评:,1)随机函数RAND(seed):返回 0 到1 之间的随机float 值。seed:种子,整数
3、值或整型表达式(tinyint、smallint 或 int)。引入目的:技能测试时,方便录入库表数据2)select top n*显示前n条记录的所有字段信息 select top n sname,sex 显示前n条记录的姓名和性别字段 select top n percent*显示前n%条记录的所有字段信息 select top n percent sname,sex 显示前n%条记录的姓名和性别字段,SQL 应用举例,点评:,3)其它数学函数如下表,请自行查阅SQL SERVER 2000 帮助:,SQL 应用举例,2,1)创建表create table table1(mc char(1
4、),sl int)create table table2(mc char(1),sl int),SQL 应用举例,2,2)插入数据insert into table1 values(A,100)insert into table1 values(B,120)insert into table1 values(A,90)insert into table1 values(B,60)insert into table2 values(A,10)insert into table2 values(A,20)insert into table2 values(B,10)insert into tabl
5、e2 values(B,20)insert into table2 values(B,30),SQL 应用举例,2,3)查询select X.商品名称,进库量,出库量,进库量-出库量 as 库存量from(select table1.mc as 商品名称,sum(table1.sl)as 进库量 from table1 group by table1.mc)as X,(select table2.mc as 商品名称,sum(table2.sl)as 出库量 from table2 group by table2.mc)as Ywhere X.商品名称=Y.商品名称,SQL 应用举例,点评:,
6、导出表的灵活运用:导出表可以作为子查询块,嵌入在from子句、where子句和having子句中。,SQL 应用举例,表pages有四个字段,为id,url,title,body;分别记录网页ID,网页的url地址,网页的title和网页的内容,用一个sql查询将url匹配的排在最前,title匹配的其次,body匹配最后,没有任何字段匹配的,不返回。,3,以查询“baidu”为例:方法1:SELECT*FROM pages WHERE url like%baidu%or title like%baidu%or body like%baidu%ORDER BY CHARINDEX(baidu,
7、url)DESC,CHARINDEX(baidu,title)DESC,CHARINDEX(baidu,body)DESC,SQL 应用举例,表pages有四个字段,为id,url,title,body;分别记录网页ID,网页的url地址,网页的title和网页的内容,用一个sql查询将url匹配的排在最前,title匹配的其次,body匹配最后,没有任何字段匹配的,不返回。,3,以查询“baidu”为例:方法2:select temptable.id,temptable.markfrom(select pages.id,100 as mark from pages where pages.u
8、rl like%baidu%union select pages.id,50 as mark from pages where pages.title like%baidu%union select pages.id,10 as mark from pages where page.body like%baidu%)as temptableorder by mark desc,SQL 应用举例,点评:,1)函数CHARINDEX:返回字符串中指定表达式的起始位置。CHARINDEX(expression1,expression2,start_location)expression1 表达式,包
9、含要寻找的字符的次序,是一个短字符数据类型分类的表达式。expression2 表达式,通常是一个用于搜索指定序列的列,属于字符串数据类型分类。start_location 在 expression2 中搜索 expression1 时的起始字符位置。如果没有给定 start_location,而是一个负数或零,则将从 expression2 的起始位置开始搜索。2)并、交、差运算:引入以解决特定问题,SQL 应用举例,点评:,3)其它字符串函数如下表,请自行查阅SQL SERVER 2000 帮助:,SQL 应用举例,表S(SNO,SNAME),C(CNO,CNAME)和SC(SNO,CNO
10、,GRADE),删除所有选修人数少于10人的课程信息。,4,1)创建表结构方法2:create table S(SNO char(4)primary key,SNAME char(8)create table C(CNO char(4)primary key,CNAME char(16)create table SC(SNO char(4)foreign key references S ON DELETE NO ACTION,CNO char(4)foreign key references C ON DELETE NO ACTION,GRADE int CHECK(GRADE betwee
11、n 0 and 100),primary key(SNO,CNO),SQL 应用举例,表S(SNO,SNAME),C(CNO,CNAME)和SC(SNO,CNO,GRADE),删除所有选修人数少于10人的课程信息。,4,2)插入数据insert into S values(S001,张0001)insert into S values(S011,张0011)insert into C values(C001,数据结构)insert into C values(C002,操作系统)insert into SC values(S001,C001,97)insert into SC values(S
12、002,C001,NULL)insert into SC values(S011,C001,67)insert into SC values(S007,C002,73)insert into SC values(S010,C002,NULL)insert into SC values(S011,C002,61),SQL 应用举例,表S(SNO,SNAME),C(CNO,CNAME)和SC(SNO,CNO,GRADE),删除所有选修人数少于10人的课程信息。,4,3)信息删除在表SC中,将选修人数少于10人的“选修信息”删除 delete from SCwhere CNO in(select C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 补充 SQL 应用 举例

链接地址:https://www.31ppt.com/p-6375797.html