- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[高等教育]关系数据库标准语言SQL1
Sql server 2000的部分函数 --全局变量 select?@@version??--返回数据库版本 select?@@error??--返回最后的一次脚本错误 select?@@identity??--返回最后的一个自动增长列的id? Sql server 2005的部分函数 --while,break,continue的使用 --首先计算所有数的平均价格,如果低于30的话进入循环让所有的price翻倍, --里面又有个if来判断如果最大的单价还大于50的话,退出循环,否则继续循环,知道最大单价大于50就break出循环,呵呵, --我分析的应该对吧. use?pubs go while?(select?avg(price)?from?titles)?$30? begin ?update?titles ??set?price=price*2 ??select?max(price)?from?titles ??if(select?max(price)?from?titles)?$50 ??break ??else ??continue end print?too?much?for?the?marker?to?bear? 查询 概述 查询语句格式: SELECT [ALL|DISTINCT] 目标列表达式 [,目标列表达式] … FROM 表名或视图名[, 表名或视图名 ] … [ WHERE 条件表达式 ] [ GROUP BY 列名1 [ HAVING 条件表达式 ] ] [ ORDER BY 列名2 [ ASC|DESC ] ]; 其中:SELECT子句指定要显示的属性列;FROM子句指定查询对象(基本表或视图);WHERE子句指定查询条件;GROUP BY子句对查询结果按指定列的值分组,该属性列值相等的元组为一个组,通常会在每组中作用集函数;HAVING短语筛选出只有满足指定条件的组;ORDER BY子句对查询结果表按指定列值的升序或降序排序。 ? 注意:DISTINCT短语的作用范围是所有目标列。 例:查询选修课程的各种成绩。 错误的写法 SELECT DISTINCT Cno,DISTINCT Grade FROM SC; 正确的写法 select distinct cno, grade from sc? 表3-3 常用的查询条件 确定大小:在WHERE子句的比较条件中使用比较运算符。 [例8]查询所有年龄在20岁以下的学生姓名及其年龄。 SELECT Sname,Sage FROM SStudent WHERE Sage 20;或SELECT Sname,Sage FROM SStudent WHERE NOT Sage = 20; BETWEEN AND,NOT BETWEEN AND IN,NOT IN =,,,=,=,!=,,!,! NOT+上述运算符 LIKE,NOT LIKE IS NULL,IS NOT NULL AND,OR 谓 词 查询条件 确定范围 确定集合 字符匹配 空值 多重条件 比较 确定范围:在WHERE子句的比较条件中使用谓词BETWEEN… AND或NOT BETWEEN … AND [例10]查询年龄在20~23岁(包括20岁和23岁)间的学生的姓名、系别和年龄。 SELECT Sname,Sdept,Sage FROM SStudent WHERE Sage BETWEEN 20 AND 23; [例11]查询年龄不在20~23岁之间的学生姓名、系别和年龄。 SELECT Sname,Sdept,Sage FROM SStudent WHERE Sage NOT BETWEEN 20 AND 23; 确定集合:在WHERE子句的比较条件中使用用谓词IN(值表)或NOT IN (值表),(值表)是用逗号分隔的一组取值。 [例12]查询信息系、数学系和计 算机系学生的姓名和性别。 SELECT Sname,Ssex FROM SStudent WHERE Sdept IN ( IS,MA,CS ); [例13]查询既不是信息系、数学系,也不是计算机系的学生的姓名和性别。 SELECT Sname,Ssex FROM SStudent WHERE Sdept NOT IN ( IS,MA,CS ); 字符串匹配:在WHERE子句的比较条件中使用谓词[NOT] LIKE ‘匹配串’ [ESCAPE ‘ 换码字符’]。其中匹
文档评论(0)