SQL查询语句用法及实例资料课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《SQL查询语句用法及实例资料课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 查询 语句 用法 实例 资料 课件
- 资源描述:
-
1、以下查询基于这3张表进行操作。Create Table S(sno varchar(10) Primary Key,sname varchar(10) not null,sex varchar(2),birthday datetime,sdeptartment varchar(100),Check (Sex=男 or Sex=女)Create Table C(cnovarchar(10) Primary Key,cnamevarchar(100) not null,teachervarchar(10)Create Table SC(snovarchar(10),cnovarchar(10),g
2、radesmallint,Primary Key(sno, cno) 格式: Select column_name ,n From 例如:从学生表中输出学号、姓名和性别。使用语句:例如:从学生表中输出学号、姓名和性别。使用语句: Select sno, sname, sex From S 通过这个查询可以看出SQL语句操作的是数据集合。 让输出的结果以一定的顺序排序,可以给输出的列重新指定列名,使用的Select语句为: Select column_name As new_ column_name,n From Order By Asc|Desc ,n Select sno as 学号, sn
3、ame as 姓名, sex as 性别 From S Order By sex Asc, sno Desc 列出表S中学生的学号和出生年份情况。 列出表S中学生的学号和出生年份情况。 Select sno, year(birthday) as 出生年份 From S Order By 出生年份 Asc year()返回日期所对应的年份。 Distinct关键字出去重复的列名记录,All关键字输出所有的查询结果,默认时为All。 Select Distinct sdeptartment From S 列出表SC中选修了课程的学生学号。 列出表SC中选修了课程的学生学号。 Select Dist
4、inct sno From SC 指定只返回前面一定数量的数据。当查询到的数据量非常庞大,但没有必要对所有数据进行浏览时,使用Top关键字可以大大减少查询花费的时间。 Select Top integer|Top integer Percent column_name,n From tablename Select Top 5 sno, sname, sex From S Select Top 5 percent sno, sname, sex From S 查询SC表中学号为“00011101”的同学的成绩为最高的课程号。 查询SC表中学号为“00011101”的同学的成绩为最高的课程号。
5、Select Top 1 sno, cno, grade From SC Where sno=00011101 Order By grade Desc =、 、=、!=、! 列出表SC中成绩在大于等于87分的学生学号和其选修的课程号。 Select sno,cno From SC Where Grade=87 或 Select sno,cno From SC Where Grade!87 列出表S中“汉语言文学”系年龄小于27岁的学生的学号和出生年份情况。 列出表S中“汉语言文学”系年龄小于27岁的学生的学号和出生年份情况。 Select sno, year(birthday) From S
6、Where sdeptartment=汉语言文学 and (year(getdate()-year(birthday)27 函数getdate()返回当前机器日期 常用的聚合函数有:Sum、Avg、Count、Max、Min Select Count(*) From S Select Count(distinct sdeptartment) From S 查询选修了课程的学生人数 查询选修了课程的学生人数 Select Count(Distinct sno) From SC 计算1号课程的学生平均成绩 计算1号课程的学生平均成绩 Select AVG(Grade) From SC Where
7、Cno=1 查询选修1号课程的学生最高分数 查询选修1号课程的学生最高分数 Select MAX(Grade) From SC Where cno=1 查询组数据的属性,Group By子句为数据分组,然后按每组数据返回查询结果。 Select Sex, Count(*) From S Group By Sex 使用Group By子句后,Select子句的列名列表只能出现分组属性和集函数。 比如:Select sno,cno From SC Group By cno 是错误的。 求选修了各课程的学生人数 求选修了各课程的学生人数 Select cno, count(*) From SC Gr
8、oup By cno 一般的条件查询。 Select column_name ,n From tablename Where Select * From S Where Sex=女 Like关键字指示在搜索条件中相匹配的模式,Like前也可以前置Not,返回不匹配的所有行。语法形式为: match_expression Not Like pattern 如果模式表达式match_expression匹配模式pattern,则返回True,否则返回False。模式pattern通常被定义为字符串和通配符,通配符主要有: %:匹配0个或多个字符的字符串 _:匹配任何单个的字符 :排列通配符,匹配任
9、何在范围或集合中的单个字符。如a-z,az的所有单个字符。 :排除通配符,匹配不在范围或集合中的单个字符。如q-t,除qt的任何字符。 在表S中查询“计算机科学与技术”系学生的姓名。 Select sname as 姓名, sdeptartment as 所在系 From S Where sdeptartment Like 计算机科学与技术Select * From S Where sname Like 王%Select * From S Where sname Like 王_Select * From S Where sname Like %王% 当用户要查询的字符串本身就含有%和_时,要使
10、用Escape短语对通配符进行转义。 查询DB_Design课程的所有信息 Select * From C Where cname Like DB_Design Escape 如查询包含5%的字符串可以写成: Select * From C Where cname Like %5% Escape 或 Select * From C Where cname Like %5% 用于组或者聚合函数的搜索条件。它常用于GROUP BY子句后,用于搜索条件必须在结果分组之后测试的情况。如果没有GROUP BY子句,则HAVING仅在选择列表用于聚合函数。 语法结构为: HAVING 在 HAVING 子
11、句中不能使用 text、image 和 ntext 数据类型。 查询90分以上的学生的学号及课程数。 查询90分以上的学生的学号及课程数。 Select sno, Count(*) as 课程数 From SC Where Grade = 90 Group By sno 列出选修课程超过3门的学生学号及选修门数 列出选修课程超过3门的学生学号及选修门数 Select sno, count(*) From SC Group By sno Having count(*) 3 查询有三门以上课程是90分以上的学生的学号及课程数。 查询有三门以上课程是90分以上的学生的学号及课程数。 Select s
12、no, Count(*) as 课程数 From SC Where Grade = 90 Group By sno Having Count(*)=3 用于搜索条件判定所给的测试表达式是否与子查询或者值列表中的任何值匹配,如果在子查询或者值列表中发现了与测试表达式匹配的结果,则返回TRUE值,NOT IN返回IN的否定结果。 查询“数学与应用数学”与“计算机科学与技术”系的学生名单。 查询“数学与应用数学”与“计算机科学与技术”系的学生名单。 Select sno, sname From S Where sdeptartment in(数学与应用数学,计算机科学与技术) 查询选修了 “C01”
13、号课程的学生学号和姓名。 查询选修了 “C01”号课程的学生学号和姓名。 Select sno, sname From S Where sno in( Select sno From SC Where cno=C01) 查询叶芬琴同学的学号及所选修的课程号。 查询叶芬琴同学的学号及所选修的课程号。 Select sno, cno From SC Where sno in(Select sno From S Where sname=叶芬琴) 这里in可用=代替 查询没有选修C02课程的学生姓名。 查询没有选修C02课程的学生姓名。 Select sname From S Where sno no
展开阅读全文