SQL查询语句用法及实例资料

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
year()返回日期所对应的年份。
Distinct和All
• Distinct关键字出去重复的列名记录,All关 键字输出所有的查询结果,默认时为All。
Select Distinct sdeptartment From S
• 列出表SC中选修了课程的学生学号。
• 列出表SC中选修了课程的学生学号。 Select Distinct sno From SC
聚合函数查询
• 常用的聚合函数有:Sum、Avg、Count、 Max、Min Select Count(*) From S Select Count(distinct sdeptartment) From S
• 查询选修了课程的学生人数
• 查询选修了课程的学生人数 • Select Count(Distinct sno) From SC
数据查询
以下查询基于这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(
cno
varchar(10) Primary Key,
cname varchar(100) not null,
teacher varchar(10)
)
Create Table SC(
sno
varchar(10),
cno
varchar(10),
grade smallint,
Like
• Like关键字指示在搜索条件中相匹配的模式,Like前也可 以前置Not,返回不匹配的所有行。语法形式为:
Primary Key(sno, cno)
)
一般查询
• 格式: Select column_name [,…n] From <tablename>
例如:从学生表中输出学号、姓名和性别。 使用语句:
例如:从学生表中输出学号、姓名和性别。 使用语句:
Select sno, sname, sex From S
• 计算1号课程的学生平均成绩
• 计算1号课程的学生平均成绩 • Select AVG(Grade) From SC Where • Cno=‘1’
Biblioteka Baidu
• 查询选修1号课程的学生最高分数
• 查询选修1号课程的学生最高分数 • Select MAX(Grade) From SC • Where cno=‘1’
• 列出表S中“汉语言文学”系年龄小于27岁 的学生的学号和出生年份情况。 Select sno, year(birthday) From S Where sdeptartment='汉语言文学' and (year(getdate())-year(birthday))<27
函数getdate()返回当前机器日期
通过这个查询可以看出SQL语句操作的是 数据集合。
Order By
• 让输出的结果以一定的顺序排序,可以给输出的 列重新指定列名,使用的Select语句为: Select column_name As new_ column_name[,…n] From <tablename> [Order By < column_name> [Asc|Desc] [,…n]]
比较运算符
• =、<、 <=、>、>=、!=、!<、!> • 列出表SC中成绩在大于等于87分的学生学
号和其选修的课程号。 Select sno,cno From SC Where Grade>=87 或 Select sno,cno From SC Where Grade!<87
• 列出表S中“汉语言文学”系年龄小于27岁 的学生的学号和出生年份情况。
Group By
• 查询组数据的属性,Group By子句为数据 分组,然后按每组数据返回查询结果。
Select Sex, Count(*) From S Group By Sex 使用Group By子句后,Select子句的列名 列表只能出现分组属性和集函数。 比如:Select sno,cno From SC Group By cno 是错误的。
Select sno as 学号, sname as 姓名, sex as 性别 From S Order By sex Asc, sno Desc
• 列出表S中学生的学号和出生年份情况。
• 列出表S中学生的学号和出生年份情况。 Select sno, year(birthday) as '出生年份' From S Order By '出生年份' Asc
Top
• 指定只返回前面一定数量的数据。当查询到的数 据量非常庞大,但没有必要对所有数据进行浏览 时,使用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
• 求选修了各课程的学生人数
• 求选修了各课程的学生人数 • Select cno, count(*) From SC • Group By cno
条件查询
• 一般的条件查询。 Select column_name [,…n] From tablename [Where <search_condition>] Select * From S Where Sex='女'
• 查询SC表中学号为“00011101”的同学的 成绩为最高的课程号。
• 查询SC表中学号为“00011101”的同学的 成绩为最高的课程号。
Select Top 1 sno, cno, grade From SC Where sno='00011101' Order By grade Desc
相关文档
最新文档