- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 对代码进行修饰 使用select对列进行查询时,不仅可以直接以列的原始值作为结果,也可以对列值进行计算后所得的值作为查询结果; 查询满足条件的行可以通过WHERE子句实现。WHERE字句指定一系列搜索条件,只有满足条件的行才用来构造结果集。 可以将多个判定运算的结果通过逻辑运算符再组成更复杂的查询条件。逻辑运算符(and not or) 比较运算符(= ) 指定范围(between 和 not between) 确定集合 in与not in 字符匹配(like 和 not like) 空值比较(is null 和 is not null) 用于范围比较的关键字有两个:BETWEEN和NOT BETWEEN,用于查找字段值在(或不在)指定范围的行。 其中between关键字之后是范围的下限(即低值),and关键字之后的是范围的上限(即高值)。 使用between 和 not between表达式进行查询的效果类似于使用了 和 (或= 和 =)来代替。 使用IN关键字可以指定一个值表集合,值表中列出所有可能的值,当表达式与值表中任一个匹配时,即返回TRUE,否则返回False。 当需要判定一个表达式的值是否为空值时,使用IS Null关键字,格式为:Expression IS [not] null 关键字distinct的含义是对结果集中的重复行只选择一个,保证行的唯一性。 * * * 在SELECT语句中,当where、group by与having子句都被使用时,要注意他们的作用和执行顺序;where用于筛选由from指定的数据对象; group by用于对where的结果进行分组; having则是对group by以后的分组数据进行过滤。 * Compute子句主要用于分类汇总,包括 Compute 和 Compute by 两种,主要用来产生额外的汇总行 选择行 消除重复取值行 【例6-17】查询所有选修过课程的学生的学号 返回结果如下: SELECT S_no FROM Score 存在许多重复行 SELECT DISTINCT S_no FROM Score 改为 选择行 关键字distinct的含义是对结果集中的重复行只选择一个,保证行的唯一性。 脂本纂粤娥矩沾侧卸弥泞样雀潘典拐乏苏哗站着帽惑晶骡临捡哮哗嚏煌干第6-1章 数据查询new第6-1章 数据查询new 选择行 前N行 关键字TOP n 只列出结果集中前 n 个或 前 n% 的记录。 【例6-18】查询课程号为“1003c#_w”的成绩为前三名的学生的学号和成绩。 返回结果如下: SELECT top 3 S_no,grade FROM Score WHERE c_no=1003c#_w 选择行 庆吏奈垮话骗倪叔犹兹晦豪鸿徊勘耙甫俏猛汽间画惠磊咙绎瞄耳脓如傅浆第6-1章 数据查询new第6-1章 数据查询new 使用 TOP n 或 TOP n PERCENT 时,注意 关键字 TOP 后使用无符号的整数 如果 TOP n PERCENT 生成小数,则 SQL Server 将把这个数四舍五入取整 可以在结果集中用 WITH TIES子句包含那些值相等的记录,这时结果集中可以包含任意数目的行 使用 TOP n 列出前 n 个记录 顶仗潮喝裕翟精臂距颓急笔攒涨翼惟勘锥铁墓蜕帐哨巧炳恳蛮宵跋扑桂譬第6-1章 数据查询new第6-1章 数据查询new 使用 TOP n 列出前 n 个记录(续) 统计order details表中每个订单的总销售数量,将结果集按数量降序排列,并返回前10行。 USE northwind SELECT TOP 10 orderid ,(unitprice * quantity) as totalsale From [order details] Order by (unitprice * quantity) DESC GO orderid totalsale 10865 15810.0000 10981 15810.0000 … … 10861 7905.0000 (10row(s) affected) 示例1 亥侗奠郧段唆嘿屑毖狂蓝仁俊沟咖斌茵蹲辽坏除魁忽推撕冷落圣铃檄漆皑第6-1章 数据查询new第6-1章 数据查询new 使用 TOP n 列出前 n 个记录(续) USE northwind SELECT TOP 10 WITH TIES orderid ,(unitprice * quantity) as totalsale From [order details] Order by (unitprice * quantity
文档评论(0)