欢迎来到天天文库
浏览记录
ID:42084392
大小:68.00 KB
页数:30页
时间:2019-09-07
《数据库技术与应用-第05讲 T-SQL与存储过程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3讲查询管理比较运算符:等于(=)大于(>)大于或等于(>=)小于(<)小于或等于(<=)不等于(!=)不小于(!<)不大于(!>)逻辑运算符:与(AND)或(OR)非(NOT)逻辑运算值为TRUE或FALSE逻辑变量的类型为:bitbit类型变量的可能值为:0、1、null0代表false,1代表true(非0值在bit类型列的保存值均为1),null代表未知2一、简单查询语法格式:select列名from表名[where条件表达式][groupby列名][orderby列名asc
2、desc]31、使用*查询所有列例:查询所有学生的所有信息select*
3、froms查询指定列例:查询所有学生的学号和姓名Selectsno,snamefroms2、使用as设置查询列的别名例:查询所有学生的学号和姓名并用别名学号和姓名显示selectsnoas‘学号’,snameas‘姓名’froms与as等价的用法用等号“=”例:select‘学号’=sno,‘姓名’=snamefroms43、查询排序语法:select……from……orderby列名[asc
4、desc]说明:多个列使用逗号分隔,ASC表示升序,DESC表示降序,默认为ASC。例:按年龄递增来查询学生的信息select*fromsorderbybirthda
5、ydesc54、使用distinct消除结果集中的重复行例:查询选课学生的学号selectdistinctsnofromsc注意:distinct的作用范围是所有目标列。例:查询不同的选课学生学号和选修课程号selectdistinctsno,cnofromsc错:selectdistinctsno,distinctcnofromsc65、使用top限制输出记录的前n行或前n%行命令格式:select[topn[percent]]……n是整数。如果指定percent关键字,则n必须是介于0和100之间的整数例:查询成绩排在前10名学生的学号selecttop
6、10snofromscorderbygradedesc例:查询成绩排在后5%的学生学号selecttop5percentsnofromscorderbygradeasc76、连接查询例:查询所有学生的姓名以及他们所选课的课程编号及得分SELECTS.sname,SC.cno,SC.gradeFROMS,SCWHERES.sno=SC.sno87、模糊查询语法:[NOT]LIKE‘字符串’说明:通配符由%和_(下横线)组成%(百分号)代表任意长度的字符串例:a%b表示以a开头,以b结尾的任意长度的字符串。如acb,addgb,ab等都满足该匹配串_(下横线)代
7、表任意单个字符例:a_b表示以a开头,以b结尾的长度为3的任意字符串。如acb,afb等都满足该匹配串9例:查询所有姓刘学生的姓名、学号和性别。selectsname,Sno,sexfromswhereSnameLIKE‘刘%’;例:查询所有不姓刘的学生的姓名、学号和性别。selectsname,Sno,sexfromswhereSnameNOTLIKE‘刘%’;10例:查询姓"欧阳"且全名为三个汉字的学生的姓名。SELECTSnameFROMSWHERESnameLIKE‘欧阳__';例:查询名字中含有"阳"字的学生的姓名和学号。SELECTSname,S
8、noFROMSWHERESnameLIKE'%阳%';118、确定范围谓词between…and…表达式1[not]between表达式2and表达式3注意:表达式2的值≤表达式3的值例:gradebetween80and90等价于grade>=80andgrade<=90例:查询成绩在60分(含60分)到80分(含80分)之间的学号和课程号。selectsno,cnofromscwheregradebetween60and80;129、确定集合谓词[not]in语法:in(<值表>)或notin(<值表>)说明:<值表>是用逗号分隔的一组取值例:查询信息系
9、、数学系和计算机系学生的姓名和性别。selectsname,sexfromswheresdeptin('信息系','数学系','计算机系');1310、空值null查询语法:isnull或isnotnull注意:“isnull”不能用“=null”代替例:查询缺少成绩的学生的学号和相应的课程号selectsno,cnofromscwheregradeisnull;1411、使用聚合函数查询(1)计数count(*):计算记录个数。count(列名):计算列的个数。例:查询学生总人数。selectcount(*)FROMS;例:查询选修了课程的学生人数。sel
10、ectcount(distinctSno)froms
此文档下载收益归作者所有