SQL查询语句教学课件_第1页
SQL查询语句教学课件_第2页
SQL查询语句教学课件_第3页
SQL查询语句教学课件_第4页
SQL查询语句教学课件_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

SQL查询语句Select-SQL数据查询语言SQL(StructuredQueryLanguage)是结构化查询语言。关系数据库管理系统都采用SQL语言作为数据库语言SQL语言特点类似于英语自然语言,简单易学是一种面向集合的语言可独立使用,也可嵌入到宿主语言中使用具有查询、操纵、定义和控制功能所使用的表无需打开和建立关联SQL查询基本查询SELECT…FROM带条件查询WHERE嵌套查询多表查询(JOIN…ON)排序输出ORDERBY重定向输出INTO|TO分组统计查询GROUPBYSQL简单查询格式:

SELECT[ALL|DISTINCT]<选择项>

FROM<表名>说明:DISTICT:显示无重复结果的记录选择项:可以是字段名、常量或表达式FROM后的查询来源可以是基本表或视图基本查询举例列出全部学生信息

Select*fromstudent基本查询举例列出全部学生的姓名和年龄,去掉重名Selectdistinct姓名,year(date())-year(出生日期);as年龄fromstudent基本查询举例求出所有学生的入学成绩平均分

Selectavg(入学成绩)as入学成绩平均分;

fromstudent带条件查询

格式:SELECT…FROM…WHERE<条件>常用运算符:=<>!=>

>=

<

<=

NOTANDORBETWEEN…ANDLIKE""

通配符:%(任意个)_(一个)IN()

在某一集合中ISNULL是否为空(未定义)带条件查询举例列出江苏籍和贵州籍的学生名单

Select学号,姓名,籍贯fromstudent;where籍贯="江苏"or籍贯="贵州"

[where籍贯in("江苏","贵州")]带条件查询举例列出入学成绩在560分到650分之间的学生名单Select学号,姓名,入学成绩fromstudent;where入学成绩>=560and入学成绩<=650(where入学成绩between560and650)带条件查询举例列出所有姓赵的学生名单Select学号,姓名fromstudent;where姓名like"赵%"(where姓名="赵")带条件查询举例列出所有成绩为空值的学生学号和课程号Select学号,课程号fromchoose;where成绩isnull嵌套查询举例—返回单值的子查询列出选修“数据库原理”的所有学生的学号Select学号fromchoosewhere课程号=;(select课程号fromcourse;where课程名="数据库原理")Choose嵌套查询举例—返回一组值的子查询列出选修“01101”课的学生中成绩比选修“01102”的最低成绩高的学生的学号和成绩。sele学号,成绩fromchoosewhere课程号="01101"and;成绩>any(sele成绩fromchoosewhere课程号="01102")ChooseChoose嵌套查询举例—返回一组值的子查询列出选修“01101”课的学生中成绩比选修“01102”的最高成绩高的学生的学号和成绩。sele学号,成绩fromchoosewhere课程号="01101"and;成绩>all(sele成绩fromchoosewhere课程号="01102")ChooseChoose嵌套查询举例—返回一组值的子查询列出选修“数据库原理”或“软件工程”的所有学生的学号

Sele学号fromchoosewhere课程号in;(sele课程号fromcoursewhere;

课程名=“数据库原理”or课程名="软件工程")Choose多表查询—等值联接按对应字段的共同值将一个表中的记录与另一个表中的记录相联接。例输出所有学生的成绩单,要求给出学号、姓名、课程号、课程名和成绩。selea.学号,a.姓名,b.课程号,c.课程名,b.成绩;fromstudenta,chooseb,coursec;

where

a.学号=b.学号andb.课程号=c.课程号selea.学号,a.姓名,b.课程号,c.课程名,b.成绩;fromstudenta

innerjoinchooseb;

innerjoincoursec;onc.课程号=b.课程号ona.学号=b.学号多表查询—非等值联接例列出选修“01102”课的学生中,成绩大于学号为“200109”的学生该门课成绩的那些学生的学号及其成绩。selea.学号,a.成绩fromchoosea,chooseb;wherea.成绩>b.成绩anda.课程号=b.课程号andb.课程号="01102"andb.学号="200109"selea.学号,a.成绩fromchoosea,chooseb;wherea.成绩>b.成绩anda.课程号=b.课程号andb.课程号="01102"andb.学号="200109"ChooseChoose排序查询格式:

ORDERBY<排序项>[ASC|DESC]例按性别顺序列出学生的学号、姓名、性别、课程名及成绩,性别相同的再先按课程后按成绩由高到低排序。selea.学号,a.姓名,a.性别,c.课程名,b.成绩;from学生a,选课b,课程c;wherea.学号=b.学号andb.课程号=c.课程号;orderbya.性别,c.课程名,b.成绩desc输出流向查询格式:INTOARRAY|CURSOR|TABLE|DBFTO<文件名>TOPRINTERTOSCREEN

分组查询格式:

GROUPBY<组合列表>[HAVING<过滤条件>]说明:GROUPBY:分组查询。常规输出字段的值每组只取其中一条记录的字段值作为查询结果。HAVING:设置过滤条件,与GROUPBY一起使用,指定结果中的组必须满足的条件例分别统计男女人数。sele性别,

count(性别)

from

student;groupby性别

例分别统计男女中少数民族学生人数。sele性别,

count(性别)

from

student;groupby性别

where少数民族否注:先where筛选,后分组统计。例列出成绩平均分大于80分的课程号

sele课程号,avg(成绩)fromchoose;groupby课程号havingavg(成绩)>=

80注:先分组统计,后having筛选。SQL定义语句定义基本表

CREATETABLE<表名>(字段名1类型长度,字段名2类型长度,……)修改表增加字段:ALTERTABLE<表名>ADD

修改字段:ALTERTABLE<表名>ALTER

删除字段:ALTERTABLE<表名>DROP删除表

DROPTABLE<表名>SQL表记录操作语句插入记录

INSERTINTO<表名>(字段序列)VAL

温馨提示

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

评论

0/150

提交评论