Java数据库之SQL server数据查询(一)_第1页
Java数据库之SQL server数据查询(一)_第2页
Java数据库之SQL server数据查询(一)_第3页
Java数据库之SQL server数据查询(一)_第4页
Java数据库之SQL server数据查询(一)_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据查询(一)第四章回顾以下代码有什么错误?1、INSERTINTOStudents(SName,SAddress,SGrade,SEmail)VALUES(‘张无忌’,‘上海’,6)2、INSERTINTOStudents(SCode,SName,SAddress,SGrade,SEmail)VALUES(100,‘张三丰’,‘杭州',6,'ZSF@S')3、INSERTINTOStudentsInfo('姓名','地址','电子邮件')SELECTSName,SAddress,SEmailFROMStudents4、UpdateStudentsSetSName=‘胡斐’SetSSex=‘女‘WhereSName=‘胡非‘5、DeleteSNamefromStudents预习检查1.ORDERBY语句有什么作用?2.常用的聚合函数有哪些?本章任务使用SQL语句对学生数据库进行各项查询操作本章目标理解查询的机制使用SELECT语句进行基本查询使用LIKE、BETWEEN、IN进行模糊查询使用TOP语句限制返回行数使用ORDERBY对数据进行排序使用DISTINCT消除重复项使用聚合函数使用GROUPBY进行分组查询什么是查询客户程序查询请求查询结果集SQLSERVERABCDEFG

SELECT*FROMSALES查询产生一个虚拟表,看到的是表形式显示的结果,但结果并不真正存储,每次执行查询只是现从数据表中提取数据,并按照表的形式显示出来如何查询学员编号学员姓名地址所在班级…….001张明全湖南长沙S201002李菲湖北宜昌S202003于寄谦甘肃天水S204004刘国正山东荷泽S201005周接轮台湾新竹S204006巩小妹香港龙湾S203007巩大妹香港龙湾S203008张明敏北京顺义S202009矛十八四川棉阳S204010罗林光陕西临潼S202011司马坡新疆喀什S201SELECT*FROMStudentsHWHERE所在班级=‘S202’S202陕西临潼罗林光010…S202湖北宜昌李菲002S202北京顺义张明敏008查询的基本语法SELECT<列名>FROM<表名>[WHERE

<查询条件表达式>][ORDERBY<排序的列名>[ASC或DESC]]

列名称SELECT

SCode,SName,SAddress

表名FROMStudents查询条件WHERE

SGrade=‘5’排序条件ORDERBY

SCodeSELECT SCode,SName,SAddressFROM StudentsWHERE SGrade=‘5’ORDERBY SCode数据查询-基础查询全部的行和列SELECT*FROMStudents

查询部分行SELECT

SCode,SName,SAddressFROMStudentsWHERE

SAddress=‘襄樊'SELECT

SCode,SName,SAddressFROMStudentsWHERESAddress<>‘襄樊'数据查询-列名使用AS来命名列SELECTSCode

AS

学员编号,SNameAS学员姓名,SAddressAS

学员地址

FROMStudentsWHERESAddress<>‘襄樊’SELECTSCode

+‘:’

+SNameAS

‘学员信息’

FROMStudents使用=来命名列SELECT‘学员信息’

=

SCode+’:’+SName

FROMStudents数据查询-TOP限制行数限制固定行数SELECTTOP5SCode,SName,SAddressFROMStudentsWHERESGrade=‘3’返回百分之多少行SELECTTOP20PERCENT

SCode,SName,SAddressFROMStudentsWHERESGrade=‘3’数据查询-排序升序排列按年级从小到大对学生进行排列:select*fromStudentsorderbySGrade降序排列按年级从大到小对学生进行排列:select*fromStudentsorderbySGradedesc数据查询-排序按多列排序SELECTStudentIDAs学员编号,CourseIDas课程编号,ScoreAs成绩

FROMScoreORDERBYCourseID,Score1、将ORDERBY后面的CourseID和Score的位置换一下,查询结果显示的方式相同吗?2、要按课程号升序、成绩降序排列该怎么实现?数据查询-DISTINCTDISTINCT关键字可从SELECT语句的结果中除去重复的行。如果没有指定DISTINCT,那么将返回所有行,包括重复的行。查询学生表中有多少个不同的年级:selectdistinctSGradefromStudents查询学生来自哪些不同的城市该如何实现?模糊查询—LIKE查询时,字段中的内容并不一定与查询内容完全匹配,只要字段中含有这些内容SELECTSNameAS姓名FROMStudentsWHERESNameLIKE'张%'思考:以下的SQL语句:SELECT*FROM数据表WHERE编号LIKE'00[^8]%[A,C]%‘可能会查询出的编号值为()。A、9890ACDB、007_AFFC、008&DCGD、KK8C模糊查询—ISNULL把某一字段中内容为空的记录查询出来select*fromStudentswhereSEmailisnull把Students表中某些行的SEmail字段值删掉后,使用ISNULL能查询出来这些数据行吗?模糊查询—BETWEEN把某一字段中内容在特定范围内的记录查询出来SELECTStudentID,ScoreFROMSCoreWHEREScoreBETWEEN60AND80上题中如果不使用“BETWEEN”可以实现吗?模糊查询—IN把某一字段中内容与所列出的查询内容列表匹配的记录查询出来SELECTSNameAS学员姓名,SAddressAs地址FROMStudentsWHERESAddressIN('北京','广州','上海')上题中如果不使用“IN”该如何实现?小结1.查询电子邮件中带有”w”的学生信息2.查询地址是“武汉”或“上海”的学生信息3.查询课程号为1的所有成绩信息4.查询成绩表中分数最高的前三个分数聚合函数

聚合函数是SQL中很重要的一部分,聚合函数不是对某个记录进行操作,而是对表中或查询到的所有记录进行操作。SQL支持的聚合函数如下表:聚合函数含义count(*)统计选择的记录的个数count()统计特定列中值的个数sum()计算总和avg()计算平均值max()求最大值min()求最小值聚合函数SUMselectsum(Score)as总成绩fromScorewhereStudentID=10004AVGselectavg(Score)as平均成绩fromScorewhereCourseID=2COUNT(*)selectcount(*)as人数fromstudents聚合函数注意:聚合函数不能直接用在WHERE后面作为查询条件,如下的语句是错误的:selectStudentIDfromStudentswhereScore=max(Score)MAXselectmax(Score)fromScorewhereCourseID=2MINselectmin(Score)fromScorewhereCourseID=2问题如果不是统计所有人所有课程的总成绩,而是想求每一门课的平均绩或者每个人的所有课的总成绩怎么办?分组汇总第一门课6个成绩取平均值第二门课6个成绩取平均值第三门课5个成绩取平均值分组查询—GROUPBYSELECT

CourseID,AVG(Score)AS课程平均成绩FROMScoreGROUPBYCourseID问题:只显示课程平均成绩大于75分的数据怎么办?分组查询—HAVINGSELECT

CourseID,AVG(Score)AS课程平均成绩FROMScoreGROUPBYCourseID

HAVINGAVG(Score)>=75注意:在GROUPBY子句中,必须指定列的名称,而且必须是出现在select之后除聚合函数外的所有列。

如下的语句是错误的:SELECTStudentID,CourseID,AVG(Score)

AS课程平均成绩FROMScore

GROUPBYCourseID分组查询—对比WHEREGROUPBYHAVINGWHERE子句从数据源中去掉不符合其搜索条件的数据GR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论