改据库基动一S0sene200 d.去掉重复记录。如 Select distinct bjbh from stu 返回stu表中所有的班级编号(无重 对查询结果进行排序。如: select xh, xm, zcj from stu order by xh desc 按学号降序显示stu表中的学号、姓名、成绩。如图5所示。 select h, xm, zc from stu 41022071013刘初阳350 041022071012钟 300.0 041022071011任建新3220 041022071010胡青松321.0 5_091027109王250 041022071008李智30.0 041022071007王龙291.0 041022061004姜黎明456.0 图5 注:desc按降序排序,asc按升序排序。 f.查询限定个数记录 Select top 5 xm from stu 查询stu表中前5个学生姓名。 注:top后的数值限定返回记录的个数,如果数值后加上 percent,则指示百分 值。如: select top5 percent* from stu返回stu表中前5%个学生记
d. 去掉重复记录。如: Select distinct bjbh from stu 返回stu表中所有的班级编号(无重复)。 e. 对查询结果进行排序。如: select xh,xm,zcj from stu order by xh desc 按学号降序显示stu表中的学号、姓名、成绩。如图5所示。 图5 注:desc按降序排序,asc按升序排序。 f. 查询限定个数记录。 Select top 5 xm from stu 查询stu表中前5个学生姓名。 注:top 后的数值限定返回记录的个数,如果数值后加上percent,则指示百分 值。如:select top 5 percent * from stu返回stu表中前5%个学生记
数据库基础 SoL Server 2000 g.Case函数查询。在查询分析器输入如下代码,运行结果如图6所示 select h 成绩等级=case when gmc j<60then‘不及格 when gmc j>=60 and gmc j<70then及格 when gmc j>=70 and gmc j<80then‘中 when qmc j>=80 and qmc j<90then良’ else end, qmc J from xk 成绩等级=case then qmc j<60then’不及格 h hen qmc >=60 and qmc<70 when qmc>=70 and qmcj<80 =80 and 3如= 从x表查询所有学生的 e⊥se end 学号、成绩等级(新字段) from xk 和期末成绩,成绩等级根据 成绩等级c 期末成绩按分数段划分。 141022021001优 90 41022021001中 79 041022021001中 041022021002不及格56.0 041022021002不及格_58.0 图6
g. Case函数查询。在查询分析器输入如下代码,运行结果如图6所示: select xh, 成绩等级=case when qmcj <60 then ’不及格’ when qmcj >=60 and qmcj<70 then ‘及格’ when qmcj >=70 and qmcj <80 then ‘中’ when qmcj >=80 and qmcj <90 then ‘良’ else ‘优’ end, qmcj from xk 图6 从xk表查询所有学生的 学号、成绩等级(新字段) 和期末成绩,成绩等级根据 期末成绩按分数段划分
数据库基础 SoL Server 2000 注:case函数用于计算多个条件列表并返回相应的值。Case具有以下两种 语法格式 简单函数。将某个表达式的值与一组简单表达式的值进行比较以返回 结果。如: case qmc J when60then‘六十 when70then“七 end 将qmcj的值分别与60、70比较是否相等,并跟据比较返回“六十”或“七 ,若都不匹配,有没有else语句,则返回空值。 这种用法要求case后先跟上一个具体的表达式(或字段名),再用 该表达式的值与每个when语句中的单个值进行比较(是否相等),不 能使用任何关系或逻辑等运算符 搜索函数。计算一组布尔表达式以确定结果。如本例。 另外,Case函数必须以end结束,且end后还可以用逗号连接下一个 要查询的字段;Ese是可选语句
注:case函数用于计算多个条件列表并返回相应的值。Case具有以下两种 语法格式: ·简单函数。将某个表达式的值与一组简单表达式的值进行比较以返回 结果。如: case qmcj when 60 then ‘六十’ when 70 then ‘七十’ end 将qmcj的值分别与60、70比较是否相等,并跟据比较返回“六十”或“七 十” , 若都不匹配,有没有else语句,则返回空值。 这种用法要求case后先跟上一个具体的表达式(或字段名),再用 该表达式的值与每个when语句中的单个值进行比较(是否相等), 不 能使用任何关系或逻辑等运算符。 · 搜索函数。计算一组布尔表达式以确定结果。如本例。 另外,Case函数必须以end结束,且end后还可以用逗号连接下一个 要查询的字段;Else是可选语句
数据库基础 SoL Server 2000 实训 1.查询stu表中的xm、xh、bjbh,并将列名显示为姓名、学号、班级编号。 2.查询stu表中的Ⅻm、xb,xb根据值男或女分别改为皿、f并按Ⅻm降序显示。 3.查询xk表中的xh、kch,并将出生日期经过操作后以新字段“年龄”显示。 返回退出
实训一 1.查询stu表中的xm、xh、bjbh,并将列名显示为姓名、学号、班级编号。 2.查询stu表中的xm、xb,xb根据值男或女分别改为m、f并按xm降序显示。 3.查询xk表中的xh、kch,并将出生日期经过操作后以新字段“年龄”显示。 返回 退出
数据库基础 SoL Server 2000 任务二条件查询 where.(1学时) 关系条件 Select* from stu where xm=’李春华 查询名为“李春华”的学生的所有信息。又如: Select i from stu where zcj)200 查询总成绩超过200分的所有学生信息。 注:关系运算符包括=、〈、)、◇(或!=)、<=(或!>)、>=(!<)。 Select x form stu where csrq! '12 /31/86 and csrq<=12/31/887 查询出生日期在86年12月21日和88年12月21日之间的学生记录。 2.逻辑条件 select xm, xb from stu where bjbh='041022021 查询stu表中班级编号为“041022021”的学生姓名和性别。 注:逻辑运算符包括not、and、or
任务二 条件查询where…(1学时) 1. 关系条件 Select * from stu where xm=’李春华’ 查询名为“李春华”的学生的所有信息。又如: Select * from stu where zcj>200 查询总成绩超过200分的所有学生信息。 注:关系运算符包括= 、<、>、<>(或!=)、<=(或!>)、>=(!<)。 又如: Select * form stu where csrq!< '12/31/86' and csrq <='12/31/88' 查询出生日期在86年12月21日和88年12月21日之间的学生记录。 2. 逻辑条件 select xm,xb from stu where bjbh=’ 041022021’ 查询stu表中班级编号为“041022021”的学生姓名和性别。 注:逻辑运算符包括not、 and、 or