数据库查询语句关键字总结

时间:2019-05-12 04:51:03下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《数据库查询语句关键字总结》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《数据库查询语句关键字总结》。

第一篇:数据库查询语句关键字总结

 看过牛腩视频后,前17集讲后台代码的编写,尤其讲到查询语句的时候,顿时感觉原来学习过的查询语句中用到的关键字烟消云散了,啥都不记得了,通过看视频,帮着回忆了一部分,在这里总结一下,查询语句中用到的关键字的含义及使用。

一、select语句(单个表)

1.最简单的查询:

select * from [where ] select column1,column2....from [where] 这里需要注意的是where子句中条件过滤使用到的关键字,比如用到逻辑运算符like 中的’%‘(匹配一个或多个字符)和’_‘(仅匹配一个)等。这个在新闻发布系统中也有用到。

例如:按标题搜索:

view sourceprint?

1.Select top 10 n.id,n.title,n.createtime,c.[name] 2.from news n inner join category c on c.caid=c.id 3.where n.title like '%' + @title + '%'

当然还有很多,例如between,not,in等关键字的使用也很重要。

2.DISTINCT关键字

这个关键字,主要用来取出列中唯一的值,比如:记录中的一个字段值(city)如果有重复(廊坊,北京,廊坊,北京),那么利用DISTINCT关键字取出唯一值,即任何重复的值只计数一次,结果为为:(廊坊,北京)。

view sourceprint?

1.select DISTINCT city from [table] 3.使用别名

利用别名可以显示我们想要的名字,方便阅读。select city as 城市 from...4.group by 和having子句

group by 用来对查询到的结果集进行分组,必须位于select语句中的from子句或where子句之后。

having子句类似于where子句,紧跟在group by子后,作为一个查询条件。与where子句的区别:where子句作用于一条记录中的查询条件,而having子句则作用于一列的查询条件

例如:

view sourceprint?

1.select location from citytable where city='北京'--查询城市名为‘北京’的城市的位置

2.select city group by city having count(memberId)>=3--查询城市成员总数大于等于3的城市,同时按城市名分组

二、多表查询

1、inner join 要求,查询的多张表中必须具有相同的匹配项。其中on表示作用的表的条件,n,c 为别名

view sourceprint?

1.Select *

2.From news n

3.Inner join category c 4.on c.caid=c.id

要执行的查询结果必须是在两张表中同时含有相同的类别号的记录才会被查询出来。例如:以牛腩视频中例子为例:

category表中id表示新闻类别的id,而news表中的caid则表示该新闻属于具体哪个类别

那么执行上面查询语句后的结果: inner join表

可以看到结果为类别号在两张表中均存在的项。inner join还包括等值联合和不等值,这主要由on后面的条件决定

2.left join 左外连接:连接时,on条件左边表所有项均查询出来,而右边表中若无匹配项,则以null代替

上面两张表,执行

view sourceprint?

1.select * from category c left join news n on c.id=n.caid

结果为:

3.right join 顾名思义,右外连接结果与left join相反,将右边表所有项查询出来,而左边表中无匹配项的则以null代替。

4.full join 无论左边还是右边所有项均返回结果。无对应项以null代替。

三、其它

除了以上涉及到的查询关键字外,还涉及到了嵌套查询,in关键字的使用,对sql记录进行编号排序后按顺序查询等。利用

view sourceprint?

1.SELECT ROW_NUMBER()OVER(ORDER BY id desc)AS Row--Row为别名

以上只是涉及到了一部分的查询关键字的总结,也是经常用到的,逐渐学习,才发现原来的知识还是应该不断的回忆和应用才能发现它更深一层应用的含义。更多关于数据库的知识有待进一步实践总结。

第二篇:《关键字查询》说课稿

一、说教材

本课是山东省小学信息技术三年级下册第8课《关键字查询》,在学习本课之前,学生已对第7课《网上世界真奇妙》进行了学习,对网络世界有了初浅认识,认识到网络的神秘,知道了什么是IE浏览器,会打开浏览器浏览信息,知道超级链接,对于网络世界充满着好奇。本节课是学生认识网络非常关键的一节课,学生通过查找感兴趣的文字、图片信息,掌握资料查找的一般方法。学生学完这节课,要掌握关键字查询信息的方法,体验到关键字查询的技巧,体会到搜索引擎网站的好处,为正确认识网络世界打下坚实的基础。

二、说教学目标

知识目标:本课主要让学生认识并会输入搜索引擎网站,学会按照“关键字查询”相关内容。

能力目标:培养学生团队合作能力以及学生利用搜索引擎查找信息的能力。

情感目标:培养学生养成勇于探索的学习习惯,提高学生自主学习的能力,提高学生团体合作意识。

三、说教学重、难点

教学重点:学生认识搜索引擎,理解关键字查询,体会到运用关键字技巧搜索的好处。

教学难点:培养学生进行的“关键字”进行查询的能力,知道利用关键字的技巧能够提高查询的速度。

四、说学生

本课所教对象是三年级的学生。学生有了初步的汉字输入基础,思维非常活跃,但学生动手能力比较差,由于学生刚刚学会输入汉字,因此在搜索框输入关键字的时候比较慢,有时还会忘记在输入关键字之前,先切换到中文输入法再输入,老师应该相信学生,给予学生充分的自主学习的时间。本课在设计时从激发学生兴趣入手,采用任务驱动法,鼓励学生自主探索、互助合作。

五、说教学过程

(一)激趣导入

老师这儿有一段非常好看的视频,让我们一起来欣赏一下吧,你想进一步了解你喜欢的动画人物吗?他的小名、爱好,想不想知道?

(本环节设计导入时从激发学生兴趣入手,播放学生喜欢的动画,了解有关动画人物信息,学生很快就有了兴趣。)

然后老师提示要快速查找动画片的人物介绍,首先登陆专门查找信息的网站。学生看书意识到帮助我们查找信息的'网站叫搜索引擎。

常见的搜索引擎网站有:Google、百度、搜狗。

我们就以百度为例进行查询。

(因为百度是学生比较熟悉,也是我们经常使用的搜索引擎网站,所以本节课就以百度为例进行教学。)

(二)学习新知

1.先让同学们打开IE浏览器,打开百度网站。让学生自己看书的30页,尝试着搜索一下,能不能找到动画片“喜羊羊与灰太狼”的人物介绍。

(这个环节给学生充分的自主学生时间,因为学生的操作程度不一样,所以在大部分同学尝试成功后,我找程度比较好的同学进行示范。学生示范的时候是本课的学习重点,这个地方要放慢。)

示范完之后揭示课题。我们本节课就学习关键字查询。

学生会发现一些问题,查找有些麻烦,有没有更快的方法?老师示范。

(教师示范的环节着重是关键字查询的技巧,这个地方也要放慢,让学生慢慢理解选准了合适的关键字,可以提高搜索的准确性。)

再让同学们尝试练习。

师总结:这次同学们查询感觉查询的速度怎么样啊?选好关键字很重要。

2.学习搜索图片。

师:老师发现有些同学不仅找到了文字介绍,还找到了精美的图片,谁能示范一下?

学生示范。

练习查找图片。

展示学生查询到的美丽图片。

师:同学们找的图片真漂亮。同学们很快就学会图片的搜索了。

(这个环节因为比较简单,可加快些速度,重点在于展示学生找到的图片,让学生体验到成功的快乐。)

(三)拓展练习

五一节快到了,你想去哪儿玩呀?现在就从网上了解一下你想去的地方吧。

(这个环节主要是通过学生上网查找旅游的信息,培养学生解决生活中的问题的能力。)

师:对,这次同学们都能选择好适当的“关键字”。

(四)展示作品,教师小结

师小结:同学们找准了关键字,查询的速度可真快。课本的32页,介绍了一些关键字搜索的技巧,感兴趣的同学回家可以认真研究一下。

(五)师生总结

结合着本课的板书进行总结。让学生对本课有着整体的认识,感觉到关键字查询中技巧很重要。

教学反思:

本节课的优点:

总体上学生有了充足的时间练习,会利用搜索引擎网站进行信息的查找。学生之间能互相帮助,知道什么是关键字以及关键字的一些简单技巧,掌握了本节课的知识。最后在知识拓展环节,学生都找到了自己想去的地方,风景很漂亮。

但回首本节课,总感觉不够流畅。主要原因2点:

1.备学生不够

学生对于百度还是有点陌生,输入困难,键盘不熟。当时本课的前一节课,由于时间有限,我用了20分钟让全班60多人练了练百度网站的输入。30多台电脑,同桌两人一台轮流使用。自认为学生已经学会了,但上课就发现了学生操作时不熟悉,也是自己备学生备的不够。

2.备教材不够

这节课中的一些环节过渡语句少,过渡生硬一些。自己对教材的处理不是太到位。另外,自己激励的语言较少,缺乏感染力。

以后是自己对本节课的一些反思,不足之处,请老师们批评指正。

【《关键字查询》说课稿】相关文章:

1.关键字查询的说课稿

2.我的关键字变作文

3.关键字和关键词语是听力的重点

4.医学sci论文查询方法

5.查询春节对联大全

6.快乐的节日说课稿说课稿

7.说课稿-美术

8.《报任安书》说课稿

9.《卖柑者言》说课稿

第三篇:第3课 关键字查询

第3课 关键字查询(第一课时)

主备教师:杨劲松年级(学科)组:三年级

授课时间:2011.9.19

教学目标:

掌握在因特网上查找资料的一般方法,进一步掌握使用浏览器的方法。

教学重点:掌握在因特网上查找资料的一般方法。

教学难点: 掌握在因特网上查找资料的一般方法。

教具学具的准备:电脑

教学过程:

一、导入

因特网上的资料太多了,怎么在因特网上查找所需要的信息呢?同学们都喜欢读寓言故事,我们该怎样从网上找呢?我们可以用搜索功能来实现。

二、搜索引擎的学习。

1、搜索引擎是一类帮助大家查找因特网上内容的专门网站,常见的有百度搜索、google搜索等。

师:如何找到百度、google呢?

生:在地址栏上输入网址就能找到

师告诉生百度网址,让生自己输入看能否成功登录

生:自己尝试

教师巡视指导

师针对出现的问题讲解,再让没有登录上的生继续尝试

生成功登录,教师评价

2、搜索框

师:我们可以在搜索框中出入我们想要搜寻的内容“寓言故事”,自己尝试一下 生尝试

师:老师看到同学们都已经搜到好多的寓言故事,把鼠标放在每一条信息上可以看到鼠标形状的变化,说明这里有链接,打开看看。

生:自己打开读语言故事

师:拉动滚动条下面还有,还可以换页呢?这么多的寓言故事让我们打开看一看吧

师:同学们都会通过百度输入内容搜索我们需要的知识了,那么刚才我们所输入的文字就成为“关键字”,这种查询方式为关键字查询。

三、大显身手

让学生自己查“邹平黄山广场”

四、总结

五、下课

第四篇:数据库语句总结

实验四

1、建立数据库

createdatabaseTSJY on(name=TSJY, filename='E:TSJY.mdf', size=10MB, maxsize=100MB, filegrowth=1MB)logon(name='TSJY_log', filename='E:TSJYT.ldf', size=5MB, maxsize=50MB, filegrowth=1MB);

2、建表

useS_T createtableStudent(Snochar(11)notnullprimarykey, Snamechar(8)notnull, Ssexchar(2)notnull, SageTinyintnotnull, Sdeptchar(10)notnull check(Ccredit >=1 and Ccredit <=6)(学分取1-6的整数)check(Grade >=1 and Grade <=100)(成绩在0-100之间));

3、将course表的cpno的长度改为3 altertableCoursealtercolumncpnochar(3)

4、给student表中的ssex列的增加默认约束,默认值为“男”

altertableStudentaddconstraintdf_Student_Ssex default'男'forSsex;

5、为course表增加一列teacher,char(8)altertableCourseaddteacherchar(8);

6、删除course表的teacher列

altertableCoursedropcolumnteacher;

7、插入数据

insertintoS(SNO,SNAME,STATUS,CITY)values('S1','精益','20','天津'),('S2','盛锡','10','北京'),('S3','东方红','30','北京'),('S4','丰泰盛','20','天津'),('S5','为民','50','上海');

8、为S表设一个主键

altertableSaddprimarykey(SNO);

9、为S表增加一个唯一索引s_sno createuniqueindexs_snoonS(SNO);为SPJ表增加索引spj_sno_pno_jno,要求索引列sno用降序,pno、jno用升序

createindexspj_sno_pno_jnoonSPJ(SNOdesc,pno,jno);为HISD的Doctor表按医生ID(dID)升序建立唯一索引

createuniqueindex Dindex on Doctor(dID)

为HISD的Doctor表按医生ID(dID)降序建立唯一索引

createuniqueindex Dindex on Doctor(dID desc)

10、为SPJ表加外键约束(若建表时已经建立外键,可以先删除某个已有外键,重新建立

altertableSPJaddconstraintFK_SNOforeignkey(SNO)referencesS(SNO);altertableSPJaddconstraintFK_PNOforeignkey(PNO)referencesP(PNO);altertableSPJaddconstraintFK_JNOforeignkey(JNO)referencesJ(JNO);

11、为SPJ表增加列qty的检查约束,要求qty>0 altertableSPJaddconstraintCK_SPJ_qtycheck(qty>0);

12、删除SPJ表的检查约束CK_SPJ_qty altertableSPJdropconstraintCK_SPJ_qty

13、查询全体学生的学号与姓名

select Sno,Sname FROM Student

14、查询全体学生的基本信息

select * FROM Student

15、查询全体学生的姓名、出生年份及所在系

uses_t SELECTSname,year(getdate())-sagebirthyear,sdept FROMstudent

16、查询选修了课程的学生学号。(掌握distinct的用法)

SELECTdistinctSnoFROMSC

17、查询年龄在18-20岁间的06级的学生姓名及学号

SELECTSname,SnoFROMstudentWHERESageBETWEEN 18 AND 20 ANDSNOlike'2006%'

18、查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别

SELECT Sname,Ssex

FROM Student WHERE Sdept IN('IS','MA','CS');

19、查找所有姓李的学生的信息

SELECT*FROMstudentwhereSnamelike'李%' 20、查找所有已选修但没有成绩的学生学号。

selectSno fromSC whereGradeisnull

21、对所有已选课的学生按学号进行升序排列,同时要求每个学生按成绩降序排列。(掌握order by的用法)

selectSno,Grade fromSC orderbySno,Gradedesc

22、统计每门课程的选课人数。(掌握group by用法)

selectcourse.Cname,COUNT(sc.Cno)as人数

fromcourse,SC wherecourse.Cno=SC.Cno groupbyCname

23、统计重名的学生姓名及人数。

selectSname,COUNT(*)as人数 fromstudent groupbySname havingCOUNT(*)>1

24、统计男生与女生的人数。

selectssex,COUNT(sno)cnt fromstudent groupbyssex

25、查询“计算机系”年龄最大的学生的基本信息。

select* fromstudenta whereSage=(selectMAX(Sage)fromstudentb whereSdept='计算机系')

实验五

26、打出所有供应商的姓名和所在城市。

useSPJ selectSNAME,CITY froms

27、找出所有零件的名称及重量。

useSPJ selectPNAME,WEIGHT fromp

28、统计每个供应商供应的各种零件数量。

selectPNAME,COUNT(PNAME)cnt fromP,SPJ whereP.PNO=SPJ.PNO groupbyPNAME

29、求供应工程J1零件的供应商号码SNO。

useSPJ selectdistinctsno fromspj wherejno='j1' 30、求供应工程J1零件P1的的供应商号码SNO。

useSPJ selectdistinctsno fromspj wherejno='j1'andpno='p1' 实验六

31、求所在的城市为直辖市的供应商的名称。

selectSnamefromswherecityin('北京','天津','重庆','上海')

32、求供应红色零件的供应商号,零件号和数量。

selectSNO,PNO,QTYFROMSPJ wherePnoIN(SELECTpnoFROMp whereColor='红')

33、没有使用天津供应商生产的红色零件的工程号JNO。

selectdistinctJNOfromSPJwhereJNOnotin(selectJNOfromSPJ,P,SwhereSPJ.PNO=P.PNO

andSPJ.SNO=S.SNOandP.COLOR='红'andS.CITY='天津')

34、求供应数量超过300的供应信息,包括供应商名,零件名,项目名和供应数量。

selectSNAME,PNAME,JNAME,QTYfromSPJ,S,P,J whereS.SNO=SPJ.SNOandP.PNO=SPJ.PNO

andJ.JNO=SPJ.JNOandQTY>300

35、至少使用了供应商S1所供应的全部零件的工程号JNO。

selectPNOfromSPJwhereSNO='S1';selectJNOfromSPJwhere(PNO='P1'andSNO='S1')intersectselectJNOfromSPJwhere(PNO='P2'andSNO='S1')

36、找出使用供应商S1所提供零件的工程号码。

selectdistinctJNOfromSPJwhereSNO='S1'

37、找出工程项目J2使用的各种零件的名称及其重量。

selectPNAME,WEIGHTfromP,SPJ whereSPJ.PNO=P.PNOandJNO='J2'

38、找出上海厂商供应的所有零件号码。

selectPNOfromS,SPJwhereS.SNO=SPJ.SNO andS.CITY='上海'groupbyPNO

39、找出使用上海产的零件的工程名称。

selectJNOfromS,SPJ whereS.SNO=SPJ.SNOandS.CITY='上海' groupbyJNO

40、找出没有使用天津产的零件的工程号码。

selectJNOfromSPJwhereSPJ.JNOnotin(selectJNOfromS,SPJwhereS.SNO=SPJ.SNOands.CITY='天津')

41、查询‘IS’系学生的学号、所选课程名称及该门课程的成绩。

selectSC.Sno,Cname,GradefromSC,Course,student wherestudent.Sno=SC.SnoandCourse.Cno=SC.CnoandSdept='数学系'

42、查询‘CS’系成绩不及格的学生姓名。

selectdistinctSnamefromStudent,SC wherestudent.Sno=SC.SnoandGrade<60 andSdept='计算机系'

43、查询每一门的课程的间接先修课程。

selectfirst.Cno,second.Cpno fromCoursefirst,Coursesecond wherefirst.Cpno=second.Cno

44、查询所有的学生的选课情况,要求没有选课的情况也能在结果显示出来。

selectStudent.*,sc.CnoFROMStudentLEFTJoinSCon SC.Sno=Student.Sno

45、查询每个学生超过他选修课程平均成绩的课程号,课程名称及成绩。

selectx.Cno,Cname,Grade

fromSCx,Coursewherex.Cno=Course.CnoandGrade>(selectAVG(Grade)fromSCywherex.Sno=y.Sno)

46、查询‘IS’系的学生以及‘数据库系统原理’成绩在70~80之间的学生。

selectSnamefromStudent,Course,SC

whereStudent.Sno=SC.SnoandCourse.Cno=SC.Cno andCourse.Cname='数据库系统原理'andGradebetween'70'and'80' andSdept='数学系'

47、用两种方法实现:选修了001课程和002课程的学生学号。

方法一:selectSnofromSCwhereCno='1'intersect selectSnofromSCwhereCno='2' 方法二:selectSnofromSCwhereCno='2'andSnoin(selectSnofromSCwhereCno='1')

48、查询至少选修了学生001课程和002课程的学生学号。

selectdistinctSnofromSCAwherenotexists(select*fromSCBwhere(Cno='1'orCno='2')andnotexists(select*fromSCCwhereC.Sno=A.Sno andC.Sno=B.Sno))实验七

49、建一新表,并将所有学生的学生的学号、平均成绩增加到其中。

createtableavgrade(snochar(11)primarykeynotnull, avgranumeric(3,1))insertintoavgrade(sno,avgra)selectsno,avg(Grade)fromSCgroupbySno 50、假设所有的学生都选了‘008‘课程,如何将记录插入选修表中。

insertintoSC(sno,cno)selectsno,'008' fromstudent

51、将所有CS系的成绩不及格学生的成绩加5分。

updateSC setgrade=grade+5 where'计算机系'=(selectsdept fromstudent,sc

wherestudent.Sno=sc.Snoandgrade<60)

52、删除选了‘数据库’数据库的学生的选课记录。

delete fromSC wherecno=(selectcnofromcoursewhereCname='数据库')

53、删除所有的学生记录。

delete

fromstudent

54、把全部红色零件的颜色改成蓝色。

updatep setcolor='蓝' wherecolor='红'

55、由S5供给J4的零件P6改为由S3供应。

updatespj setsno='s3' wheresno='s5'andjno='j4'andpno='p6'

56、从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。

deletefroms wheresno='s2' deletefromSPJ wheresno='s2'

57、请将(S2,J6,P4,200)插入供应情况关系。

insertintospj(sno,pno,jno,qty)values('s2','j6','p4','200')

实验八

58、为“图书”的“分类号”建立一个索引ts_flh。

createindexts_flhontushu(fenleihao)

59、为“借阅”表建立一唯一索引jycx,要求按“借书证号”升序,“借书日期”降序。

createindexjycxonjieyue(cardID,jdatedesc)

60、为“管理员”表建立一检查约束,要求“基本工资”在(100,10000)之间。

altertableadministratoraddconstraintCK_administrator_gongzi

check(gongzibetween 100 and 10000)

61、建立“借阅”与“图书”及“读者”表之间的参照关系。(增加借阅表的外键约束)

altertablejieyueaddconstraintFK_IDforeign key(ID)referencestushu(ID)altertablejieyueaddconstraintFK_cardIDforeign key(cardID)referencesduzhe(cardID)

62、查询出“图书”数据库中作者姓“刘”的所有图书。SELECT*FROMtushuwherewriterlike'刘%'

63、查询出“图书”数据库中高等教育出版社出版的、单价低于25元的所有种类的图书。

select*fromtushuwhereaddress='高等教育出版社'andprice<25 64、求出“读者”数据库中的总人数。

selectCOUNT(*)fromduzhe 65、求出“图书”数据库中的所有图书的最高价、最低价和平均价。

selectMAX(price)as最高价,MIN(price)as最低价,AVG(price)as平均价fromtushu 66、求出“借阅”库中借书证号为“112”的所借图书的册数。

selectcardID,COUNT(*)as册数fromjieyuewherecardID='112'groupbycardID 67、按分类号降序显示“图书”库中各种图书的分类号、书名合作者。

selectfenleihao,bookname,writerfromtushuorderbyfenleihaodesc 68、按单价升序显示“图书”库中的高等教育出版社出版的所有图书。

select*fromtushuwhereaddress='高等教育出版社'orderbyprice

69、按单价升序显示出“图书”库中由清华大学出版社和电子工业出版社出版的所有图书。

select*fromtushuwhere(address='高等教育出版社'oraddress='电子工业出版社')orderbyprice 70、按书名和作者分组统计出“图书”库中每种图书的数量。

selectbookname,writer,COUNT(*)as数量fromtushugroupbybookname,writer 71、统计出“图书”数据库中15至25元之间的图书数量。

selectcount(*)as数量fromtushuwherepricebetween 15 and 25 72、查询出“图书”数据库中书名中含有“应用基础”字串的所有图书。

select*fromtushuwherebooknamelike'应用基础%' 73、分组统计出“借阅”数据库中每一种借书证号所借图书的册数。

selectcardID,COUNT(*)as册数fromjieyuegroupbycardID 74、按单位分组统计出“读者”数据库中每个单位的人数。

selectdanwei,COUNT(*)as人数fromduzhegroupbydanwei

75、分组统计出1997年底以前借阅不低于2本图书的借书证号和数量。

selectcardID,COUNT(*)as人数fromjieyuewherejdate<'1997-12-31' groupbycardIDhavingcount(*)>=2 76、联接查询“借阅”库和“图书”,得到借阅每一本书的信息。

select*fromtushu,jieyuewheretushu.ID=jieyue.ID

77、联接查询“借阅”库和“读者”库,得到每一个以借阅者的借书证号、姓名、单位。

selectduzhe.cardID,name,danweifromduzhe,jieyuewhereduzhe0..cardID=jieyue.cardID

78、联接查询“借阅”、“读者”、“图书”三个库,得到每一本所借图书的读者的借书证号、姓名、单位、书名。

selectduzhe.cardID,name,danwei,booknamefromduzhe,jieyue,tushu

whereduzhe.cardID=jieyue.cardIDandtushu.ID=jieyue.ID 79、从“图书”数据库中(通过对“借阅”库的嵌套)查询出所有被借图书的信息。

select*fromtushuwhereIDin(selectIDfromjieyue)80、按单位分组统计出被借图书的数量。

selectdanwei,COUNT(*)as数量fromduzhe,jieyuewhereduzhe.cardID=jieyue.cardIDgroupbydanwei 81、按单位分组统计出借阅图书的人数。

selectdanwei,COUNT(*)as人数fromduzhewherecardIDin(selectdistinctcardIDfromjieyue)groupbydanwei 82、从读者库中查询出每个借阅图书的读者的情况。

select*fromduzhewherecardIDin(selectdistinctcardIDfromjieyue)83、查询‘管理员’表中职称为教授或副教授,并且在1950年(含该年)以后出生的所有职工记录。

select*fromadministratorwherezhicheng='教授'orzhicheng='副教授'andbirth<=1950 84、查询‘管理员’表中基本工资在250到380元之间的职工记录。

select*fromadministratorwheregongzibetween 250 and 380 85、将基本工资小于500的管理员,工资加上100元。

updateadministratorsetgongzi=gongzi+100 wheregongzi<500

86、列出藏书在十本以上的图书(书名、作者、出版社)。

selectbookname,writer,addressfromtushuwherecangshuliang>10

87、“数据库系统原理教程,王珊编,清华大学出版社,1998年出版”还有几本?

selectkucunfromtushuwherebookname='数据库系统'andwriter='王瑞'andaddress='清华大学出版社' 实验九

88、请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。针对该视图完成下列查询:

CREATEVIEWVSPASSELECTSNO,PNO,QTYFROMSPJ,JWHERESPJ.JNO=J.JNOANDJ.JNAME='三建'

89、找出三建工程项目使用的各种零件代码及其数量。

SELECTPNO,sum(QTY)FROMVSPgroupbyPNO 90、找出供应商S1的供应情况。

SELECTdistinct*FROMVSPWHERESNO='S1' 91、建立信息系学生的视图(用with check option子句),并向该视图中插入类似以下的语句:

insert into is_student1(sno,sname,sage)values(‘20051100101’,‘王一’,20)

是否合理?如何更改?

createviewIS_student as selectsno,sname,sagefromstudent wheresdept='IS' withcheckoption 不合理(sno,sname,sage)不用

92、建立信息系选修了001号课程的学生的视图。

createviewIS_S1 as selectstudent.sno,sname,gradefromstudent,sc wheresdept='IS'andstudent.sno=sc.snoandcno='1' 93、在第(2)题创建的视图的基础上建立信息系选修了1号课程且成绩在90分以上的学生的视图。

createviewIS_S2 as

selectstudent.sno,sname,gradefromstudent,sc wheresdept='IS'andstudent.sno=sc.snoandcno='2'andGrade>=90 94、试图删除“选修”表(SC表),看看第(2)题与第(3)题建立的视图是否存在。

deletefromSC 不存在

第五篇:数据库语句

sp_helpdb----------查本服务器中所有数据库 可跟库名 例:sp_helpdb 库名

------------------------------sp_databases-------------查看本服务器中可用的数据库------sp_helpfile-------------------查看当前工作着的数据库----------------------------sp_helpfilegroup---------------查看当前工作着的组的信息。可加参数,跟组名 例:sp_helpdb 库名

--sp_renamedb-----------改数据库名 例:sp_renamedb 旧库名,新库名

--select groupname from sysfilegroups where status=24---------查看文件组 =8是查只读文件组 =16是查默认文件组 =24是查即只读又默认-------------sp_dboption----------修改数据库选项值 例:sp_dboption 库名 选项 值

值决定真假 一般用:true/faule 或off/on表示

选项一般常用为:use only(数据库拥有者)single user(单一用户)read only(只读)------------dbcc shrinkdatabase---------收缩数据库 例:dbcc shrinkdatabase(库名,10)收缩库,剩余空间保留10%,后面如果不加notruncate,则释放空间操作系统,加truncateonly,归还空间给操作系统,但忽略所给的百分比数值。--------dbcc shrinkfile---------收缩文件 用法与ddcc shrinkdatabase相同。

--------alter database---------------修改数据库

用法:这是起始句,告诉要做的是修改数据库,然后再接要做什么工作。每次只做一项工作 alter database 库名

add file 文件名....to filegroup 文件组名

----------------增加库文件,格式与建库时括号里指定大小时的格式一样 add log file 文件名-------------增加日志文件 remove file 文件名---------删除库内的文件

add filegroup 文件组名-----------增加一个文件组 modify file 文件名-------------修改文件属性

modify filegroup 组名------------修改文件组属性-------------drop database--------------删除数据库

例:drop database 库名1,库名2---------可同时删除两个库----------create table 表名(列名 类型, 列名 类型)-------------------建立表

------select * from 表名---------查询表结构

------select @@dbts----------查询最后一次操作------insert into 表名(列名,列名)values(变量,变量.....)------------向表中插入数据

如省略列名,则必须把每列的变量填全,不可缺少。可以省略 into------sp_addtype 自定义类型名 系统类型名-------用户自定义类型------sp_droptype 自定义类型名-----------删除自定义类型 如有数据库正在使用该自定义类型,则不能删除------alter table---------修改表结构 用法: alter table 表名

alter column 列名 类型---------修改列的类型 drop column 列名--------删除列

add(column)列名--------增加列,实际用时不加 column---sp_help-------------查看数据库中对象信息 用法: sp_help 表名---------------查表的信息 或 sp_help 库名--------------查库信息

后面可以跟库名或者表名,是查数据库或者表的信息---sp_spaceused--------查看对象占用的空间信息 用法: sp_spaceused----------查当前库占用空间信息 或 sp_spaceused 表名----------查指定表占用空间信息

后面可以加表名查看表占空间信息。如不加,则查看当前数据库。----sp_depends------------查看对象的相关性 用法: sp_depends 表名-----------后面加表名----sp_rename---------------重新命名

用法: sp_rename 旧表名,新表名---------改表名

或 sp_rename '表名.旧列名','新列名' 'column'-------修改列名------create index--------------创建索引

用法: create index 索引名 on 表名(列名)------创建索引 或: create unique clustered index 索引名 on 表名(列名)------创建簇集唯一索引 unique是建唯一索引 clustered是建簇集索引---非簇集索引用:nonclustered--------select top---------查表中前几行

用法: select top 3 * from 表名-------查表中前三行

或: select top 10 percent * from 表名-------显示表中前10%数据------------加入percent是百分比的意思。只以大于的最小整数,无小数--------select 列名,列名,列名 from 表名-------显示表中特定的列--------select *,列名 from 表名----------查询表中所有,后面再加一列--------select distinct----------查询不重复数据 distinct用于去掉重复数据 用法: select distinct * from 表名---------查表中不重复数据

或: select distinct * into 新表名 from 旧表名------查旧表中不重复数据同时生成新表-----------------------select 列名+列名 from 表名-------允许有计算式出现,显示无列名的计算结果 如想加列名,则: select 列名+列名 as 新列名 from 表名-----------select 年龄,联系电话,cast(年龄 as varchar(2))+联系电话 from 表名--------把整型数据年龄转化为字符型与字符型数据联系电话相加--------------ctrl+o(字母O)--------清空数据。空值与别的数据运算结果为空--------------select 原始列名 别名 from 表名 select 原始列名 as 别名 from 表名 select 别名=原始列名 from 表名

--------指定别名的三种方法。非法符号可''或[]引起来,不得直接使用。--------------select * from 表名

where 年龄 between 20 and 30---------显示年龄在20到30之间的人-------between是从条件一到条件二之间的限制---------select * from 表名

where 年龄 in(20,21,22)---------显示年龄为20、21、22的人--------in是限制在这些条件内的,是显示一个取值范围---------select * from 表名

where 联系电话 like '[1-3]%'--------查电话是1-3开头的人--------like是像这些条件的语句,能用通配符:%、_、[]、[^]--------意思分别代表:所有字符、一个字符、一位上可取值、一位上不可取值--------select * from 表名 where 姓名 like '[e[]%' or 姓名 like '%e]' escape 'e'------------显示以‘[’开头或以‘]’结尾的所有数据,中间有不显示----------escape ''是指定通配符

---------------order by---------给数据排序 用法: select * from 表名

order by 年龄-----------排序显示年龄。默认为升序(asc)要降序必须加desc----------select distinct top 3 from 表名

order by 年龄 desc--------显示最大的三种年龄-----------select * from 表名

where 年龄 in(select distinct top 3 年龄 from 表名 order by 年龄)order by 年龄-----------显示年龄最小的所有人,并排序-----------select 姓名, case when MCSE成绩 >=80 and MCSE成绩<=100 then '考的不错' when MCSE成绩 >=60 and MCSE成绩<80 then '考的一般' when MCSE成绩 >=0 and MCSE成绩<60 then '不及格' when MCSE成绩 is null then '这小子没考试' else '异常数据' end MCSE成绩 from 表名

-----------判断语句 null是空值的意思,不能用等号连接,只能用is-----------case到end为一列里的判断,case在这里是取值,结果用于输出,不显示原值---------------select 列名1, case 列名2 when 1 then '男生' when 0 then '女生' else '未知' end from 表名

--------这里case取列名,是用于这一列每项取值比较,在这里列名2用的是bit型数据-----------select * into 库1.表1 from 库2.表2-----------把库2中表2移到库1中

----------数据维护三个命令: insert---------向表中插入数据 update---------修改表中的数据 delete---------删除表中的数据

----------insert into 表名-----------(into可有可无)(列1,列2,列3,列4)-----------表的原始列,用括号括起来 values----------有这条命令只能插入一条数据(数1,数2,数3,数4)----------插入的数值

---------可以省略原始列清单,但必须把所有列都赋值----------insert into 表1(列1,列2,列3,列4)select * from 表2 where sex=1----------将表2中sex列等于1的数据信息插入表1中-----------update 表名 set 姓名='丁一' where 姓名='李一'----------把表中姓名叫李一的改为丁一。------------where后面跟定位的列与值

-----------update 表名 set 学号=14, 姓名=陈强

where 学号=1------------把学号为1的同学改为学号14,姓名陈强---------update 表名

set 学号=年龄+7, 姓名='陈一强', 年龄=29 where 学号=14

-------把学号为14的同学资料改为年龄加七赋给学号姓名改为陈一强,年龄改为29-------如果没用where定位,则修改全部值

----------delete 表名

where 学号>30---------把学号大于30的资料删除

--------如不指定条件,则删表内所有数据。这是记录日志文件的操作--truncate table 表名

-------清空表。不记录日志文件的操作。

------create view 图名-------------新建视图 用法: create view 图名 as select 列名 from 表名----------------syscomments------------这个表存着视图代码的信息----------------alter view 图名 with encryption as

select 列名 from 表名-----------用with encyption语句给视图原代码加密-------------不可恢复,除非保留源代码

----------------sp_helptext 图名-----------查看视图源代码

---------------select text from syscomments where id =(select id from sysobjects where name ='图名')---------查视图的代码

---------------create view 图名 as select * from 源图名------------基于源图创建新视图---------------create view 图名 as select 列1 as 新列1,列2 新列2,列3=新列3---------起别名的三种方法 from 表名-----------在新视图中为列起别名,则所见的是新起的别名---------------sp_depends 表名-----------查该表的相关性,有多少表、图与之相关。-----------------create view 图名 select * from 表名 where 年龄<20 with check option---------强制插入数据符合年龄小于20的条件,加在where后面-----------是约束insert和update语句的

-----------------select 男公民.姓名,女公民.姓名 from 男公民,女公民 where 男公民.配偶编号=女公民.编号

------------查结婚男女。较原始的语法,后被下列语法取代 或: select 男公民.姓名,女公民.姓名

from 男公民 join 女公民 on 男公民.配偶编号=女公民.编号-------新的形式,在join之前省略了inner语句。

--可用左连接(*=或left outer join)右连接(=*或right outer join)全连接(full outer)----where不能做全连接,但可以做连接的约束 select * from 男公民

where 配偶编号 in(select 编号 from 女公民)--------嵌套查询,查配偶编号在女公民表中编号列中出现过的-----------------select distinct 客户表.*

from(select * from 订单表 where 订单年份=2004)as d,客户表 where d.客户号=客户表.客户号

-----子查询放在from身后,也可以放在where身后--------------select(select 子查询语句)from 表名

-------这种格式要求子查询查出的必须是唯一的数据--------------select a.员工编号,a.员工姓名,b.员工姓名 as 领导姓名 from 员工表 as a,员工表 as b where a.部门领导编号=b.员工编号

select a.员工编号,a.员工姓名,b.员工姓名 as 领导姓名

from 员工表 as a join 员工表 as b on a.部门领导编号=b.员工编号

select a.员工编号,a.员工姓名,(select 员工姓名 from 员工表 as b where a.部门领导编号=b.员工编号)as 领导姓名 from 员工表 as a---------三种查询员工领导的方法

------如果里面总经理领导编号是这空的,这种查询方法不显示空值。如要显示,则用左连接---------------sp_tables-----------查当前数据库中的所有表

----------------select * from 男公民

union------------联合。自动升序排序,并去掉重复语句 select * from 女公民

-----查询结果是男公民和女公民表的总集。如果不去掉重复的,则用 union all-----如果要降序排,则要在最后一个select语句后面加上order by 列名 desc-----用union查询时,结果集内列数必须相同,并且数据类型必须相互兼容-----多表联合查询加order by时,后面必须跟第一个结果集的列名----------------select top 2 成绩 from 表

order by 成绩 desc---------查前两种最好成绩

-----------------select top 2 with ties 成绩 from 表

order by 成绩 desc---------查前两种最好成绩所有人的信息-----------------select top 1 a.成绩

from(select distinct top 3 成绩 from 表 order by 成绩 desc)as a order by 成绩---------嵌套查询,查考成绩第三名的值-----------------select max(SQL成绩),min(MCSE成绩)from 表-----查SQL最高分和MCSE最低分

-----常用的函数:max(最大),min(最小),sum(总和),avg(平均值)-----count(*)统计表内数据的行数。count(列名)统计表内列里非空值的行数-----------------select count(*)from 表名--------查表内有多少行数据-----------------select count(列名)from 表名------------查表内列中有多少行非空数据-----------------select min(成绩),max(成绩),sum(成绩),avg(成绩),count(*),count(成绩)from 表名--------返回显示数据只有一行。中间不能加列名,如想加,可以在后面加列。-----------------group by---------分组统计,后面跟的是列名

---------上面select检索多少原始列,后面group by就要跟多少原始列 例: select 性别,avg(年龄)from 表名

group by 性别-------统计性别的平均年龄

-----------------select 年龄,avg(年龄)from 表名 where 年龄<23 group by 年龄-------查年龄小于23岁的各年龄段平均年龄-------或也可用如下方法:

select 年龄,avg(年龄)from 表名 group by 年龄

having<23-------having是统计之后的条件,where是统计之前的条件--------having是做为group by的子句出现的,不能单独使用----------------select 年龄,avg(年龄)from 表名 where 年龄<23 group by all 年龄-------显示所有年龄,但只统计年龄小于23的,大于23的显示空值----------------select 品牌,颜色,sum(价格),avg(价格)from 汽车表 group by 品牌,颜色

with cube-------多维统计,按不同品牌不同颜色统计,也是group by的子句--------其结果出现把各品牌统计一下,最后再统计所有品牌、所有颜色的总统计----------------select 品牌,颜色,sum(价格),avg(价格)from 汽车表 group by 品牌,颜色

with rollup------只按第一列统计,也是group by的子句---------即统计品牌各颜色和所有品牌所有颜色的总统计----------------select 品牌,颜色,价格 from 汽车表

compute sum(价格),avg(价格)----------出现两个结果集------------查原始列,另外统计所有的总和与平均值

-----------------select 品牌,sum(价格),avg(价格)from 汽车表

group by 品牌------只对汽车品牌进行统计。进行分组的列不一定用来统计----------------select 品牌,颜色,价格 from 汽车表 order by 品牌

compute sum(价格),avg(价格)by 品牌

--------按品牌分组统计。分别显示品牌各款,然后再显示函数计算值----------------exists--------存在。相当于一个判断开关。说对了执行,说错了放弃 用法: select * form 表名

where exists(select * from 表名 where 性别='男')------如果存在性别为男的,执行查询。如果不存在,则不执行命令。---------------数据完整性:1.实体完整性----用unique(唯一)或主键控制,数据不能重复

2.值域完整性----用check控制。控制的是列中不能有非法数据

3.引用完整性----一列的取值完全依赖于前一列时,用这个。

4.用户自定义完整性

----------------create table 表名

(列1 int primary key,--------设置列级主键,紧跟在设置列的后面。列2 int)-----------------create table 表名(列1 int, 列2 int, primary key(列1))--------设置表级主键,放在建表语句的最后面。-----------------create table 表名

(列1 int constraint pk_表 primary key, 列2 int)

--------把列1设为主键,并且起名叫:pk_表。constraint是命名的命令

下载数据库查询语句关键字总结word格式文档
下载数据库查询语句关键字总结.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    数据库查询基本操作题总结(查询小结)

    2010.3等级考试-基本卡、操作题 一、查询小结:  查询分类: 1.选择查询:  使用向导创建查询(无条件);  在设计视图中创建查询(无条件、有条件); 2.交叉表查询:  使用交叉表查询向导;  在......

    网络数据库讲稿(查询)

    网络数据库讲稿 一、简单的SELECTP95 1.SELECT … FROM … DISTINCT TOP n [PERCENT] 字段别名 有三种书写格式。 2.WHERE子句(SELECT … FROM … WHERE …) P101 (......

    网络数据库讲稿(查询)

    网络数据库讲稿 一、简单的SELECTP95 1.SELECT … FROM … DISTINCT TOP n [PERCENT] 字段别名 有三种书写格式。 2.WHERE子句(SELECT … FROM … WHERE …) P101 (......

    数据库经典语句大全(新)

    创建数据库 创建之前判断该数据库是否存在 if exists (select * from sysdatabases where name='databaseName') drop database databaseName go Create DATABASE database......

    mysql数据库常用语句大全

    mysql数据库常用语句 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)......

    数据库语句大全[大全五篇]

    一、基础 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE maste......

    SQL查询语句

    SQL查询语句 第一次:查询(显示)、条件、排序、空记录 第二次:通配符、生成表、文件(记事本)、数组、临时表,数学函数、分组、嵌套查询 第三次:插入记录、删除记录、更新记录 第四次:......

    Sql语句查询

    sql语句多表连接查询 在程序开发过程中,不仅可以对单一数据表进行查询,还可以进行多表查询,用户通过多表查询从多个表中提取出需要的数据。 多表查询可以分为内连接查询、外连......